玫瑰线轨迹模型及其仿真实验

时间:2022-10-05 01:01:47

玫瑰线轨迹模型及其仿真实验

摘 要: 建立了玫瑰线轨迹模型,对模型进行了理论证明并使用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.

上一篇:基于工学交替模式高职酒店管理课程体系设计探... 下一篇:坚持六抓六推进 不断强化班组建设