- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
朱明亮 052002007弹簧振子模型的三维参数化仿真 1 弹簧参数化
弹簧振子模型的三维参数化仿真
弹簧参数化三维模型的建立
本文采用离散化思想,把弹簧得表面离散成一系列的多边形,当划分足够细致时,近似精度就非常高。最后本文用OpenGL实现了弹簧的参数化三维模型。
1.1 弹簧的主要几何参数
本文考虑了表征弹簧外形的几个主要几何参数,根据这些几何尺寸计算出各个多边形的顶点,然后再画出。设置光照时,应给出弹簧上各点的法向量。每个弹簧片段(一个周期)主要的几何参数为:弹簧的高度(H),每圈弹簧的半径(R),弹簧丝的半径(r),每两个周期弹簧的间距(螺距)(h)。如图 1 所示:
图 1. 弹簧关键参数
弹簧的轴线符合螺线方程,因此模型建立过程中参考了螺线模型螺线方程为: 。
每个周期的弹簧片段的外形由三个独立变量R、r、h控制。
模型片段顶点计算
模型划分方法:沿每圈弹簧的投影圆划分为n等分,沿弹簧丝的截面圆划分为m等分。分别用变量、表示沿两个圆逆时针方向的角度变化(变化范围0~),这样弹簧表面上的点的x, y坐标就可以由、、R、r四个量确定,z 坐标增量由h 确定。使、在0~内变化,用表示的平均增量(),用表示的平均增量(),用表示z 坐标增量速率(高度相对角度的变化率,);以底面投影圆的圆心为原点,向右为x正向,向上为y正向,z正向垂直屏幕向外。则弹簧上任一点的坐标为: (其中i, j分别为角,的循环变量)。该点的法向量为:
计算简图如图2示:
图2. 求弹簧上点的计算简图
模型精度
模型的精度与划分精细程度直接有关,即m, n越大,模型的近似程度越高。如下面几幅图所示,不同m, n值下的模型。从这些图中可以看出,当划分精度m20, n20时便可以达到很好的效果(上面的图1中m=20, n=20)。当m=n=50和m=n=100时几乎看不出什么差别了。
图 3. m=n=6 图 4. m=6,n=8
图 5. m=n=50 图 6. m=n=100
弹簧振子的参数化模型
2.1 弹簧振子模型参数
为简化运动模型,视其运动为简谐振动。本文通过对模型的受力分析,用微分法得到小球每个时刻的运动位置及弹簧运动变形。主要参数为:弹簧的高度(H),弹簧的投影圆的半径(R),周期数(n),弹簧的刚度系数(K),小球的质量(m)。如图 7 所示。
图 7. 弹簧振子模型
弹簧振子的运动参数:加速度 ,速度,离开平衡位置的位移,以上的物理量都是矢量,还有时间参数,时间变化量。这些物理量之间的关系为(从程序代码的角度考虑的公式):
用这些公式就可以计算出每个时刻的小球离开平衡位置的距离。
2.2 弹簧振子运动时弹簧的变形
弹簧在运动过程中其参数H, R都是变化的,下面予以考虑。由于H的变化是由小球的运动产生,所以每个时刻弹簧高度H可以表示为:(其中为弹簧在平衡位置时的长度)。而每个时刻的R可以根据H求出,由于弹簧变形不是很剧烈,可以认为弹簧丝的长度不变,其长度为,如果弹簧为n个周期,则弹簧的投影圆的周长之和为,则,且这些长度间有如下关系:,则可以得出:,长度关系如图 8 所示:
图 8. 弹簧几个长度间的关系
结论
本文讨论了弹簧振子的参数化三维模型的建立,本文提供的方法细化了弹簧振子模型的控制参数,通过改变弹簧的几何参数就可以控制它的外形,通过改变弹簧的力学参数及小球的力学参数可以控制弹簧振子的运动状态,具有很大的灵活性。另外本文基于OpenGL的程序实现通过加入光照和材质,获得了良好的视觉效果,从而使仿真效果更加真实。本文还有不足,没有考虑阻尼,只考虑了比较理想的简谐振动;而且弹簧模型只考虑了整周期,还不能生成半周期的弹簧。
朱明亮 0520020072
1
文档评论(0)