Unity鉸鏈四桿機構設計和運動仿真

一、效果圖

設定好各邊長度和轉速后,點擊【設置并啟動】,自動生成一個機構模型,并按照原理進行運轉
請添加圖片描述

二、鉸鏈四桿機構介紹

機架:A和D是固定位置,叫做機架。
曲柄:B點繞A點旋轉,構成曲柄。
連桿:C點和B點相連,構成連桿。
搖桿:C點繞著D點轉動,構成搖桿。

在這里插入圖片描述
請添加圖片描述

三、運動原理

1、機構示意圖
在這里插入圖片描述

第一步:計算Φ1(∠BAD)

曲柄轉動了多少度

第二步:計算BD的長度

已知B點和D點位置,計算BD的長度,可用機械公式計算,或者直接使用Vector3.Distance計算。
在這里插入圖片描述

第三步:計算∠ΦDB(∠BDA’)

  • (1)用機械原理公式計算的依據:
    在這里插入圖片描述

  • (2)直接用Unity向量距離api計算:

Vector3.Distance(A, D);//示例代碼

第四步:計算計算∠Φ3的值

只能用機械原理的公式計算:
在這里插入圖片描述

第五步:根據∠Φ3計算C點位置

∠Φ3已知的時候,在射線DC上取C點

四、關鍵代碼實現

代碼為計算部分的代碼,僅供交流學習之用。

    /// <summary>/// 計算曲柄和搖桿位置/// </summary>/// <returns></returns>bool JiSuanWeiZhi(){//設定B的位置  AB = avar posB = A.transform.position + (B.transform.position - A.transform.position).normalized * (float)a_AB;B.transform.position = posB;//計算Φ1(∠BAD)double phi1 = Vector3.Angle(B.transform.position - A.transform.position, D.transform.position - A.transform.position);//象限判斷if (B.transform.position.y < A.transform.position.y){phi1 = 360 - phi1;}//公式計算lenDB的值var lDB2 = math.sqrt(a_AB * a_AB + d_DA * d_DA - 2 * a_AB * d_DA * Cos(phi1.ToRadians()));//計算ΦDB(∠BDA')double phiDB = Vector3.Angle(B.transform.position - D.transform.position, D.transform.position - A.transform.position);//象限處理if (B.transform.position.y < A.transform.position.y){phiDB = 360 - phiDB;}//計算Φ3的值var phi3 = phiDB - Acos((c_CD*c_CD + lDB2 * lDB2 - b_BC * b_BC)/(2 * c_CD * lDB2)).ToDegrees();//擺放C點if (double.IsNaN(phi3)){Debug.Log($"無法計算Φ3的值  {(c_CD*c_CD + lDB2 * lDB2 - b_BC * b_BC)/(2 * c_CD * lDB2)}");return false;}else{Quaternion q = Quaternion.AngleAxis((float)phi3, new Vector3(0,0,1));var dir  = q * (D.transform.position - A.transform.position);C.transform.position = D.transform.position + dir.normalized * (float)c_CD;}return (true);}

五、機械原理附錄:

1、平面示意圖

2、運動分析公式——位置計算

在這里插入圖片描述

3、運動分析公式——速度計算

在這里插入圖片描述

4、運動分析公式——加速度計算

在這里插入圖片描述

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

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

相關文章

990-22產品經理:The benefits of business analytics 業務分析的優勢

Turning data into pound isn’t just something for big corporations now. Thanks to relatively inexpensive software and easy-to-use, drag-and-drop tools, pulling data and analysing it – with the goal of growing your business – has never been more uncomplic…

英語學習資源分享

鍵盤俠的單詞記憶軟件&#xff1a; Qwerty Learner — 為鍵盤工作者設計的單詞與肌肉記憶鍛煉軟件https://qwerty.kaiyi.cool/ 經濟學人、紐約客等英語外刊雜志下載&#xff1a;若github無法進入可以試試下載VPN插件&#xff08;在瀏覽器中安裝免費的VPN插件&#xff0c;個人推…

重拾C++之菜鳥刷算法第4篇---哈希表

一些理論知識 哈希函數是一種映射關系&#xff0c;根據關鍵詞key&#xff0c;經過一定函數關系得到元素的位置。 常見的哈希函數構造方法 直接定址法 除留余數法 疊加法 隨機數法 哈希沖突 不同關鍵字通過相同哈希函數計算出相同的哈希地址&#xff0c;該種現象稱為哈希…

視頻匯聚/存儲/壓縮/診斷平臺EasyCVR視頻聯網整合方案應用特點

隨著科技的不斷發展&#xff0c;監控視頻在各個領域的應用越來越廣泛。為了更好地管理和利用這些視頻資源&#xff0c;視頻聯網與整合的需求也越來越多。通過視頻聯網技術將不同地理位置或不同設備的視頻資源進行整合&#xff0c;實現實時共享和集中管理。視頻聯網整合方案的應…

6、云原生安全之falco的規則解讀(部分)(下)

文章目錄 3、規則解析記錄3.21、檢測是否有非特權用戶成功執行userfaultfd系統調用3.22、監控容器內通過curl/wget的下載行為3.23、檢測容器內修改release_agent文件的場景(無論修改成功與否)3.24、檢測Java進程通過網絡加載class類文件的行為,該規則用于檢測log4j的應急3.2…

Linux運維_Bash腳本_編譯安裝GNU-Tools

Linux運維_Bash腳本_編譯安裝GNU-Tools Bash (Bourne Again Shell) 是一個解釋器&#xff0c;負責處理 Unix 系統命令行上的命令。它是由 Brian Fox 編寫的免費軟件&#xff0c;并于 1989 年發布的免費軟件&#xff0c;作為 Sh (Bourne Shell) 的替代品。 您可以在 Linux 和 …

2024最新算法:鸚鵡優化算法(Parrot optimizer,PO)求解23個基準函數

一、鸚鵡優化算法 鸚鵡優化算法&#xff08;Parrot optimizer&#xff0c;PO&#xff09;由Junbo Lian等人于2024年提出的一種高效的元啟發式算法&#xff0c;該算法從馴養的鸚鵡中觀察到的覓食、停留、交流和對陌生人行為的恐懼中汲取靈感。這些行為被封裝在四個不同的公式中…

C++_紅黑樹

目錄 1、紅黑樹的規則 2、紅黑樹節點的定義 3、紅黑樹插入節點的調整操作 3.1 情況一 3.2 情況二 3.3 情況三 4、紅黑樹的實現 結語 前言&#xff1a; 在C中&#xff0c;紅黑樹是二叉搜索樹的另一種優化版本&#xff0c;他與AVL樹的區別在于保持樹的平衡方式不同&…

【Mysql】Navicat數據庫勿刪了mysql.infoschema@localhost,導致打不開數據庫,如何修改

運行報錯如下&#xff1a; 1449 . The user specified as a definer (mysql.infoschemaocalhost) does not exist該方法不需要重啟mysql&#xff0c;或者重裝&#xff1b;僅需要恢復刪除的mysql.infoschemalocalhost用戶 一、登錄建立用戶 mysql -uroot -pxxxxxx密碼二、建立…

【網上商城系統的設計與開發】

目錄 1.實訓概況 1 1.1 實訓題目 1 1.2實訓時間 1 1.3實訓目的 1 1.4 實訓環境 1 1.5 實訓內容 2 1.6 進度安排 3 2.需求分析 5 2.1 功能需求分析 5 2.1.1用戶需求分析 5 2.2.2網站前臺需求 5 2.2.3網站后臺需求 6 2.2 可行性分析 7 2.2.1社會可行性 7 2.2.2技術可行性 8 3.系統…

Sora學習(一):Sora技術路徑整體認知

前文&#xff1a;最近跟著DataWhale組隊學習這一期“Sora原理與技術實戰”&#xff0c;本篇博客主要是基于DataWhale成員、廈門大學平潭研究院楊知錚研究員分享的Sora技術原理詳解課件內容以及參考網上一些博客資料整理而來&#xff08;詳見文末參考文獻&#xff09;&#xff0…

【談一談】并發編程_鎖的分類

【談一談】并發編程_鎖的分類 Hello!~大家好!~每天進步一點點,日復一日,我們終將問劍頂峰 這里主要是介紹下我們常用的鎖可以分為幾類,目的是整體框架作用~方便后續的并發文章 說白了,這篇就是開頭哈~ 本文總綱: 一.可重入鎖和不可重入鎖 我們開發中一般用到的都是可重入鎖比如…

Photoshop 2023:重塑創意,引領數字藝術新紀元

在數字藝術的浩瀚星空中&#xff0c;Adobe Photoshop 2023&#xff08;簡稱PS 2023&#xff09;如同一顆璀璨的新星&#xff0c;為Mac和Windows用戶帶來了前所未有的創意體驗。這款強大的圖像處理軟件不僅繼承了前作的精髓&#xff0c;更在細節上進行了諸多創新&#xff0c;讓每…

運行Python文件時出現‘utf-8’code can‘t decode byte 如何解決?(如圖)

如圖 亦或者出現“SyntaxError: Non-UTF-8 code starting with \xbb ” 出現這種問題往往是編碼格式導致的&#xff0c;我們可以在py文件中的第一行加入以下代碼&#xff1a; # codingutf-8或者 # codinggdk優先使用gbk編碼 解釋一下常用的兩種編碼格式&#xff1a; utf-…

朱維群將出席用碳不排碳碳中和頂層科技路線設計開發

演講嘉賓&#xff1a;朱維群 演講題目&#xff1a;“用碳不排碳”碳中和頂層科技路線設計開發 簡介 姓名&#xff1a;朱維群 性別&#xff1a;男 出生日期&#xff1a;1961-09-09 職稱&#xff1a;教授 1998年畢業于大連理工大學精細化工國家重點實驗室精細化工專業&…

什么是B+樹,和B樹有什么不同?

&#x1f449;博主介紹&#xff1a; 博主從事應用安全和大數據領域&#xff0c;有8年研發經驗&#xff0c;5年面試官經驗&#xff0c;Java技術專家&#xff0c;WEB架構師&#xff0c;阿里云專家博主&#xff0c;華為云云享專家&#xff0c;51CTO 專家博主 ?? 個人社區&#x…

Spring Initializer環境問題

1.基于jdk8與本地 環境準備 1)下載jdk8并安裝 2&#xff09;下載maven 3.6.3并解壓放入D盤maven目錄下&#xff0c;去掉外層 設置阿里源 打開settings.xml,在mirrors標簽之內增加&#xff0c;注意粘貼后</id>中的/有可能被刪掉&#xff0c;要自己補上 <mirror>&l…

健身房預約小程序制作詳細步驟解析

如果你是一位健身愛好者&#xff0c;或者是一位健身教練&#xff0c;你一定知道預約健身的痛苦。傳統的預約方式不僅麻煩&#xff0c;而且效率低下。但是&#xff0c;現在&#xff0c;我們可以使用一種神仙工具——喬拓云網&#xff0c;來搭建一個屬于自己的健身預約小程序&…

【VTKExamples::PolyData】第四十三期 PolyDataPointSampler

很高興在雪易的CSDN遇見你 VTK技術愛好者 QQ:870202403 前言 本文分享VTK樣例PolyDataPointSampler,并解析接口vtkPolyDataPointSampler,希望對各位小伙伴有所幫助! 感謝各位小伙伴的點贊+關注,小易會繼續努力分享,一起進步! 你的點贊就是我的動力(^U^)ノ~YO …

如何使用 CrewAI 構建協作型 AI Agents

一、前言 AI Agents 的開發是當前軟件創新領域的熱點。隨著大語言模型 (LLM) 的不斷進步&#xff0c;預計 AI 智能體與現有軟件系統的融合將出現爆發式增長。借助 AI 智能體&#xff0c;我們可以通過一些簡單的語音或手勢命令&#xff0c;就能完成以往需要手動操作應用程序才能…