簡體   English   中英

繩子模擬html5

[英]rope simulation html5

我正試圖在網站上模擬物理上正確的繩索。

搜索過網絡后,我的結論是我需要一個像box2d這樣的物理引擎?

如果我理解正確,解決方案是將一個對象分成小段,然后加入並將這些對象組合在一起。 另外,我想將物理學與瀏覽器結合起來。 這意味着:當我快速向下滾動網站時,繩索必須以物理上正確的方式作出反應。

這可能嗎?

你根本不需要圖書館。 您可以愉快地使用對象,組件或程序代碼,以及對基本機械物理和一些2D幾何(基本微積分可能有幫助)的理解。

以優化的方式進行這項工作需要更多的工作。 以模塊化和可重復使用的方式進行這項工作需要一些前期工程。

但制作一根繩子,並使繩子表現正常是非常簡單的。

2D繩索將是一系列線段或“骨頭”。 每根骨頭都可以繞着關節彎曲。

您可以對每個骨骼施加重力或任何其他力量。
每個骨骼都有約束(它附着的其他骨骼,上方和下方)。
因此,當您更新“繩索”時,您將根據之前和之后的約束更新每個骨骼。
您可以創建一個錨點 - 將繩索的頂部固定到牆上,這樣無論其他骨骼如何移動,最頂部的骨骼將圍繞其頂部關節旋轉,但不會移動到任何位置。

要將物理應用於懸掛繩索的中間(如將其拉向中間,然后放開),您將使用反向運動學來解決對一個或兩個關節的力如何影響其他連接(和約束 )關節的每一個。

想想它不像蛇,更像是自行車鏈。
鏈條中的每個“鏈節”越短,繩索看起來就越流暢,但加工所需的時間越長。
鏈中的每個“鏈接”越長,計算變化的速度就越快,但它看起來變得越僵硬和越塊。

查找“Verlet集成”,“運動學”(“前進”/“反向”),並對旋轉后的數學和沿2D矢量移動對象有一個相當不錯的把握......
如果你想要用鞭子般的東西,而不僅僅是制造波浪,那里有一點點的質量。

其余的只是循環。

有關基本示例,請參閱以下內容:
http://gamedev.tutsplus.com/tutorials/implementation/simulate-fabric-and-ragdolls-with-simple-verlet-integration/

玩得開心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM