主权项 |
一种基于位置动力学的角度弯曲模型的仿真方法,其特征在于,包括以下步骤:(1)、用图形设计软件制作需要仿真的可变形体的网格模型文件,通过软件接口将所述网格模型文件的数据导入到可变形体仿真系统中;(2)、定义步骤(1)所述可变形体的网格模型文件的三个变量,即仿真过程中第i个节点的位置x<sub>i</sub>、速度ν<sub>i</sub>、质量m<sub>i</sub>,其中i∈[1,n],n为所述网格模型的节点总数,第i个节点的初始位置<img file="FDA0000546860870000017.GIF" wi="51" he="65" />为所述网格模型导入时初始坐标,初始速度<img file="FDA0000546860870000011.GIF" wi="169" he="81" />m<sub>i</sub>的值为1/n;(3)、设所述仿真系统每一帧图像的时间步长为Δt,所述可变形体网格模型在仿真过程中受到的外力为f<sub>ext</sub>;根据牛顿第二定律和质点的运动定理,计算所述可变形体网格模型在受外力f<sub>ext</sub>作用了时间步长Δt之后的节点预测位置p<sub>i</sub>,p<sub>i</sub>的计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>v</mi><mi>i</mi></msub><mo>=</mo><msubsup><mi>v</mi><mi>i</mi><mn>0</mn></msubsup><mo>+</mo><mi>Δt</mi><mo>·</mo><msub><mi>ω</mi><mi>i</mi></msub><mo>·</mo><msub><mi>f</mi><mi>ext</mi></msub></mtd></mtr><mtr><mtd><msub><mi>p</mi><mi>i</mi></msub><mo>=</mo><msubsup><mi>x</mi><mi>i</mi><mn>0</mn></msubsup><mo>+</mo><mi>Δt</mi><mo>·</mo><msub><mi>v</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000546860870000012.GIF" wi="431" he="173" /></maths>其中:ω<sub>i</sub>=1/m<sub>i</sub>,m<sub>i</sub>为第i个节点的质量,ν<sub>i</sub>为第i个节点的速度,<img file="FDA0000546860870000013.GIF" wi="125" he="79" />分别为第i个节点在该时间步长Δt起始时刻的初始准确位置和初始速度;(4)、在所述可变形体网格模型的节点之间构建角度弯曲模型,包括以下步骤:(4a)、根据节点的网格剖分关系建立相邻节点集,定义M<sub>i</sub>为可变形体网格模型第i个节点v<sub>i</sub>的相邻节点集;(4b)、为所述相邻节点集M<sub>i</sub>中的每个节点v<sub>k</sub>找到该相邻节点集中另一个节点v<sub>best</sub>,构成节点串[v<sub>best</sub>,v<sub>k</sub>,v<sub>i</sub>],使得边v<sub>i</sub>v<sub>k</sub>和边v<sub>i</sub>v<sub>best</sub>夹角<img file="FDA0000546860870000014.GIF" wi="95" he="68" />为最大角,<img file="FDA0000546860870000015.GIF" wi="280" he="83" />其中k∈[1,m],m为所述相邻节点集M<sub>i</sub>中的节点总数;(4c)、在步骤(4b)所述节点串[v<sub>best</sub>,v<sub>k</sub>,v<sub>i</sub>]组成的三角形Δv<sub>k</sub>v<sub>i</sub>v<sub>best</sub>上构建角度弯曲模型:<img file="FDA0000546860870000016.GIF" wi="761" he="71" />其中p<sub>1</sub>,p<sub>2</sub>,p<sub>3</sub>分别为v<sub>best</sub>,v<sub>k</sub>,v<sub>i</sub>的节点预测位置,n<sub>1</sub>为边v<sub>i</sub>v<sub>k</sub>的单位向量,n<sub>2</sub>为边v<sub>i</sub>v<sub>best</sub>的单位向量,<img file="FDA0000546860870000021.GIF" wi="63" he="61" />为所述可变形体网格模型导入仿真系统时边v<sub>i</sub>v<sub>k</sub>和边v<sub>i</sub>v<sub>best</sub>的初始夹角;(4d)由步骤(4c)所述角度弯曲模型求出节点预测位置和节点准确位置之间的误差修正量Δp<sub>i</sub>,将该误差修正量Δp<sub>i</sub>与节点预测位置p<sub>i</sub>相加,得到节点准确位置x<sub>i</sub>,其中Δp<sub>i</sub>的计算公式为:<img file="FDA0000546860870000022.GIF" wi="986" he="190" />其中:<img file="FDA0000546860870000023.GIF" wi="675" he="150" />q<sub>3</sub>=‑q<sub>1</sub>‑q<sub>2</sub>,d=n<sub>1</sub>·n<sub>2</sub>;p<sub>1</sub>,p<sub>2</sub>,p<sub>3</sub>分别对应虚拟三角形中三个顶点的节点预测位置,n<sub>1</sub>和n<sub>2</sub>为构成最大角的两条边的单位向量;(5)输出所述可变形体网格模型在节点准确位置x<sub>i</sub>处的图像,同时把节点准确位置x<sub>i</sub>作为下一个时间步长的节点起始位置,返回步骤(3),得到可变形体网格模型的下一帧图像;(6)重复步骤(3)~(5),依次输出可变形体网格模型的每一帧图像,直到得到所述可变形体弯曲变形的仿真动画为止。 |