C# 機構仿真實例

1、實現連桿帶動滑塊運動
一個連桿旋轉帶動另一個連桿,另一個連桿拖動滑塊,點擊“開始”按鈕開始運動,再點擊按鈕,則停止運動。
在這里插入圖片描述
2、實現程序

#region 機構仿真Image image = null;Timer timer= new Timer();int width = 0;int height = 0;int axisPoint = 10;double angle = 0;bool isRun = false;const int pole1 = 50;const int pole2 = 150;Point[] points = new Point[3];private void MechanismInitialize(){DrawMechanism(angle);timer.Interval= 100;timer.Tick += Timer_Tick;timer.Start();}private void Timer_Tick(object sender, EventArgs e){if (isRun){DrawMechanism(angle);angle += 10;}}private void button1_Click(object sender, EventArgs e){if (button1.Text.Equals("開始")){button1.Text = "結束";isRun = true;}else{button1.Text = "開始";isRun = false;}}private void DrawMechanism(double angle){width = this.pictureBox1.Width;height = this.pictureBox1.Height;image = new Bitmap(width, height);Graphics g = Graphics.FromImage(image);g.Clear(Color.White);int x = width / 8 * 3;int y = height / 2;Point p = new Point(x, y);points[0] = p;x = x + (int)(pole1 * Math.Cos(Math.PI / 180*angle));y = y + (int)(pole1 * Math.Sin(Math.PI / 180*angle));p = new Point(x, y);points[1] = p;int z = pole1 * (int)(Math.Sin(Math.PI / 180 * angle));x = (int)(width / 8 * 3 + pole1 * Math.Cos(Math.PI / 180 * angle) + Math.Sqrt(pole2 * pole2 - z * z));y = height / 2;p = new Point(x, y);points[2] = p;Pen pen = new Pen(Color.Black, 2);g.DrawEllipse(pen, points[0].X - axisPoint / 2, points[0].Y - axisPoint / 2, axisPoint, axisPoint);g.DrawLine(pen, points[0], points[1]);g.DrawEllipse(pen, points[1].X - axisPoint / 2, points[1].Y - axisPoint / 2, axisPoint, axisPoint);g.DrawLine(pen, points[1], points[2]);g.FillEllipse(new SolidBrush(Color.Blue), points[2].X - axisPoint, points[2].Y - axisPoint , axisPoint*2, axisPoint*2);g.Dispose();this.pictureBox1.Image = image;}#endregion

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16159.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16159.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16159.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一千題,No.0027(Phone Desktop)

描述 Little Rosie has a phone with a desktop (or launcher, as it is also called). The desktop can consist of several screens. Each screen is represented as a grid of size 53, i.e., five rows and three columns. There are x applications with an icon size o…

【網絡安全】社會工程學攻擊與防范

一、社會工程學概述 1、社會工程學的定義 通過利用人們的心理弱點、本能反應、好奇心、信任、貪婪等一些心理陷阱進行的諸如欺騙、傷害、信息盜取、利益謀取等對社會及人類帶來危害的行為或方法。 當網絡惡意攻擊者無法通過純粹的計算機技術達到目的時,高超的情商…

9.Redis之list類型

list相當于鏈表、數據表 1.list類型基本介紹 列表中的元素是有序的"有序"的含義,要根據上下文區分~~有的時候,談到有序,指的是"升序","降序”有的時候,談到的有序,指的是, 順序很關鍵~~如果把元素位置顛倒,順序調換.此時得到的新的 List 和之前的 Li…

js簡單綜合案例之簡易ATM取款機、渲染表格案例、封裝時間函數

這里寫目錄標題 簡易ATM取款機要求代碼實現 渲染表格案例要求代碼實現 封裝時間函數要求代碼實現 簡易ATM取款機 要求 1.彈出彈窗,讓用戶輸入數字選擇操作 2.初始值金額為100,計算每次操作后的剩余金額變化 3.一直彈出彈窗直到用戶輸入4,跳…

OpenCV SIFT特征描述子(GPU版本)

文章目錄 一、簡介二、測試過程三、實現效果參考資料一、簡介 這里主要測試一下SIFT圖像描述子的GPU版本。SIFT圖像描述子,全稱Scale-Invariant Feature Transform(尺度不變特征變換),是計算機視覺和圖像處理領域中一種非常重要的局部特征描述子。它主要用于圖像的特征點檢…

新聞稿海外媒體投稿,除了美聯社發稿(AP)和彭博社宣發(Bloomberg),還有哪些優質的國外媒體平臺可以選擇

發布高質量的新聞稿到海外媒體,除了美聯社發稿(AP)和彭博社發稿(Bloomberg),還有許多其他優質的媒體平臺可以選擇。以下是一些受歡迎和高效的海外媒體發布平臺: 路透社 (Reuters) 路透社是全球最…

Webpack Bundle Analyzer:深入分析與優化你的包

Webpack Bundle Analyzer是一個用于可視化的工具,它可以幫助你分析Webpack打包后的輸出文件,查看哪些模塊占用了最多的空間,從而進行優化。 2500G計算機入門到高級架構師開發資料超級大禮包免費送! 首先,你需要安裝W…

IIC通信(STM32)

一、IIC概念 1、兩根通信線:SCL(Serial Clock)、SDA(Serial Data) 同步,半雙工 2、帶數據應答 3、支持總線掛載多設備(一主多從、多主多從)一般使用一主多從。一主多從的…

【深度學習】paddlets,時序數據預測

文章目錄 一、環境二、題目1三、題目2四、題目3五、函數參數 資料: https://paddlets.readthedocs.io/zh-cn/latest/source/api/paddlets.models.base.html#paddlets.models.base.BaseModel.recursive_predict https://aistudio.baidu.com/projectdetail/5866171?…

陪跑真正值錢的不是教程,是你遇到那個擋住你的問題時,身邊有個靠譜的人

今天分享兩個概念,一個是意識決定一切,一個是大道至簡,做項目就是按部就班的遵循事情發展規律去做。 先說第一個概念,意識決定一切。我們說的凡事預則立不預則廢,就是計劃了去做就會有結果。 給你們一個表,…

Linux簡單通過Minicom命令操作串口設備(linux串口操作命令)

Minicom是一個在Linux系統中廣泛使用的串行通信程序。它類似于Windows下的超級終端,允許用戶通過串口與外部硬件設備進行通信。Minicom不僅功能強大,而且完全免費,帶有源代碼,可以在大多數Unix系統下運行。 安裝Minicom 在大多數Linux發行版中,Minicom可能沒有預裝。可以…

【前端】面試八股文——BFC

面試八股文——BFC 在前端開發的面試中,BFC(Block Formatting Context,塊級格式化上下文)常常是一個高頻出現的考點。它不僅考察應聘者對CSS布局的理解深度,也是面試官判斷候選人解決實際問題能力的重要依據之一。因此…

python接口自動化測試中為什么用yaml文件進行用例管理而不是json文件

在Python接口自動化測試中,使用YAML文件進行用例管理而不是JSON文件,主要基于以下幾個原因: 可讀性:YAML文件使用縮進和冒號來表示層級結構,使得文件內容更加清晰易讀。相比之下,JSON文件則使用大括號和中…

MySQL——索引與事務

目錄 前言 一、索引 1.索引概述 (1)基本概念 (2)索引作用 (3)索引特點 (4)適用場景 2.索引的操作 (1)查看索引 (2)創建索引…

LeetCode399觸發求值

題目描述 給你一個變量對數組 equations 和一個實數值數組 values 作為已知條件,其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每個 Ai 或 Bi 是一個表示單個變量的字符串。另有一些以數組 queries 表示的問題,其中 que…

文科論文,使用AI寫作時能夠提供實證數據嗎?

人工智能時代,為了撰寫論文提供思路及高效,利用AI撰寫論文已是常態,可撰寫文科論文通常研究中都需要實證數據,而AI撰寫論文時能夠提供這樣的數據嗎? 一、什么是實證數據 實證數據是指從研究報告、財務報表、新聞報道…

計算機網絡——TCP 協議的三次握手 / 四次揮手

簡述 TCP / UDP 協議都是傳輸層的協議。 UDP 是面向無連接的協議,就是說發送端不在乎消息數據是否傳輸到接收端了,所以會出現數據丟失的情況,所以可靠性也不高。 TCP 是面向連接的、可靠的、基于字節流的傳輸層協議。所謂面向連接的&#…

Flink-cdc更好的流式數據集成工具

What’s Flink-cdc? Flink CDC 是基于Apache Flink的一種數據變更捕獲技術,用于從數據源(如數據庫)中捕獲和處理數據的變更事件。CDC技術允許實時地捕獲數據庫中的增、刪、改操作,將這些變更事件轉化為流式數據,并能夠…

Windows平臺C#版RTSP轉RTMP直播推送定制版

技術背景 前幾年我們發布了C版的多路RTMP/RTSP轉RTMP轉發官方定制版。在秉承低延遲、靈活穩定、低資源占用的前提下,客戶無需關注開發細節,只需圖形化配置轉發等各類參數,實現產品快速上線目的。 如監控類攝像機、NVR等,通過廠商…

【啟程Golang之旅】深入解析函數的奧秘與技巧

歡迎來到Golang的世界!在當今快節奏的軟件開發領域,選擇一種高效、簡潔的編程語言至關重要。而在這方面,Golang(又稱Go)無疑是一個備受矚目的選擇。在本文中,帶領您探索Golang的世界,一步步地了…