开篇:润墨网以专业的文秘视角,为您筛选了一篇玫瑰线轨迹模型及其仿真实验范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘 要: 建立了玫瑰线轨迹模型,对模型进行了理论证明并使用Mathematica软件对其做了仿真实验。理论与实验均表明,当模型中参数时,即可得到玫瑰线轨迹ρ=acosnθ。该模型从运动的角度揭示了玫瑰线的生成规则,为机械绘制玫瑰线提供了理论依据。
关键词: 玫瑰线; 轨迹; 仿真实验; Mathematica软件
中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2013)04-01-03
Model of rose curve trajectory and simulation experiment
Wang Fugui1, Wang Jianwei2
(1. College of Arts and Sciences, Shanxi Agricultural University, Taigu, Shanxi 030801, China;
2. College of Information Science and Engineering, Shanxi Agricultural University)
Abstract: The model of rose curve trajectory is given in this paper in which it is proven theoretically. A simulation experiment has been done using mathematical software. Both the theory and experiment indicate that when , ρ=acosnθ can be achieved. The formation rule of the rose curve is revealed based on motion. Theoretical evidence for related mechanical drawing is provided.
Key words: rose curve; trajectory; simulation experiment; Mathematical softwares
0 引言
玫瑰线的极坐标方程为ρ(θ)=acosnθ,如ρ(θ)=acos3θ表示3叶玫瑰线,ρ(θ)=acos2θ表示4叶玫瑰线等[1,2]。由于玫瑰线的曲线美观,所以使用玫瑰线可以设计出许多非常漂亮的几何图案[3]。许多学者对玫瑰线的几何特性作了研究,熊作朝先生研究了玫瑰线的周长[4],潘陆益先生等研究了玫瑰线的花瓣数及周期性等[5,6],李星秀先生等研究了逐点生成算法[7]。玫瑰线有许多实际应用,如扫描瞬时视场[8],安全底纹的设计[9]等。本文建立了玫瑰线的轨迹模型,并使用Mahtematica程序设计语言编写了玫瑰线轨迹仿真程序[10,11]。
1 轨迹模型
1.1 模型描述
如图1所示,设动圆半径为,动圆圆心初始位置为A(,0),动圆上的动点Q的初始位置为B(a,0),动圆的圆心P绕着原点O(0,0)匀速公转,角速度为ω(ω>0时为逆时针旋转,ω
1.2 模型证明
由于P点旋转的角速度为ω,Q点旋转的角速度为kω,故在t时刻时∠AOP=ωt,∠BPQ=kωt,如图2所示。所以动点Q在t时刻的直角坐标为:
⑴
t时刻Q点与原点之间距离平方为:
⑵
假设t时刻Q点在极坐标系下的极角为θ(t),则
⑶
当t充分小时,与均位于第1或第4象限,故。
取,从而有:
⑷
下面验证对于任意的时刻t时,⑷式均成立。现把⑷式转换为直角坐标系下坐标。
⑸
⑹
由⑸式与⑹式可知,Q运动轨迹的极坐标方程为
⑺
1.3 模型应用
从⑺式知,模型中的参数k取不同的值,将得到不同的玫瑰线轨迹。令,得,故当模型中的参数时,即得到模型中Q点的运动轨迹为玫瑰线ρ(θ)=acos(nθ)(n≠1)。
2 仿真实验
2.1 仿真程序
我们在Mathematica7.0环境下编写了模型仿真函数roseLineTrajectory,函数roseLineTrajectory输出动点Q的运动轨迹。源代码如下:
roseLineTrajectory[a_, k_, Dynamic[t_]] :=
DynamicModule[{angleCalc, p, q, tt, g},
g[] := (p = RotationMatrix[t].{a/2, 0};
(*点P在t时刻位置*)
q=RotationMatrix[k t].{a/2, 0};
(*点Q在t时刻相对于P点的偏移量*)
Show[Graphics[{{Dashed, Circle[{0, 0}, a/2]
(*P点运动轨迹*)},
{Dotted, Circle[p, a/2]},
Circle[p, a/2, {Min[k t, 0], Max[k t, 0]}],
Circle[{0, 0}, a/2, {Min[0, t], Max[0, t]}],
PointSize[Medium],
Point[p],
Point[p+q],
Arrow[{{0, 0}, p}], Arrow[{p, p + q}]},
PlotRange->{{-a-0.1, a+0.1},{-a-0.1,a+0.1}},
Axes -> True,
AxesLabel -> {x, y}],
ParametricPlot[
RotationMatrix[u].{a/2, 0} +
RotationMatrix[k u].{a/2, 0}, {u, -10^-8, t},
PlotStyle -> Thick,
PerformanceGoal -> "Quality"]]);
LocatorPane[Dynamic[tt,
(angleCalc @@ Normalize /@ {#, tt}) &],
Dynamic[g[]], Appearance -> None],
Initialization :> (tt = {1, 0}; t = 0;
angleCalc[newp_, oldp_] := (t = t +
ArcCos[newp.oldp] Sign[Cross[newp].(newp-oldp)];
tt={Cos[t], Sin[t]}))
]
2.2 仿真程序测试
要得到3叶玫瑰线轨迹,可取参数k=-2,故调用模型仿真函数如下:
roseLineTrajectory[1, -2, Dynamic[t]]
输出仿真交互界面如图3所示。
使用鼠标在图3中拖动点P,可使点P绕原点旋转,程序将动态地输出动点Q所划过的轨迹,如图4所示。
当P点旋转一周以上时,得到Q点的运动轨迹为一条封闭的3叶玫瑰线ρ(θ)=cos(3θ),如图5所示。
取参数时,输入:
roseLineTrajectory[1, -4/3, Dynamic[t]]
可得到如图6所示的7叶玫瑰线。
3 结束语
本文建立了玫瑰线的轨迹模型,对模型进行了计算机仿真实验,通过实验验证了理论的正确性。通过调整模型中参数k的值,可以得到不同的玫瑰线轨迹,故该模型可以应用于机械绘制任意玫瑰线,可使玫瑰线的应用更加广泛。
参考文献:
[1] 同济大学数学教研室.高等数学上册(第4版)[M].高等教育出版社,1996.
[2] 李亿民.关于多叶玫瑰线的一个注记[J].山东理工大学学报(自然科学版),2009.23(2):88-90
[3] 杨涛,王坤茜,徐人平等.函数图形中的玫瑰线在纺织中的应用[J].毛纺科技,2008.10:40-43
[4] 熊作朝.关于玫瑰线周长的一个恒等关系[J].思茅师范高等专科学校学报,2011.27(3):13-14
[5] 潘陆益.玫瑰线及其应用研究[J].计算机应用与软件,2008.25(10):236-238
[6] 金义明,张三元.广义玫瑰线及其应用[J].计算机应用研究,2004.3:170-171
[7] 李星秀,康宝生.玫瑰线和普通旋轮线的逐点生成算法[J].计算机工程与设计,2006.27(5):746-748
[8] 张磊,裘雪红.一种新的确定"玫瑰线"扫描中瞬时视场的方法[J].红外技术,2003.25(1):44-47
[9] 亓文法,李晓龙,杨斌等.动摆线及其在安全底纹设计中的应用[J].计算机辅助设计与图形学学报,2008.20(2):267-272
[10] Sal Mangano.Mathematica Cookbook[M].O'Reilly Media,2010.
[11] 张韵华,王新茂.Mathematica7实用教程[M].中国科学技术大学出版社,2011.