摘 要: 建立了玫瑰線軌跡模型,對模型進行了理論證明并使用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時為逆時針旋轉,ω<0時為順時針旋轉),同時動圓上的動點Q繞著動圓的圓心勻速自轉,自轉的角速度為kω,即自轉角速度為公轉角速度的k倍,則點Q的運動軌跡即為玫瑰線。
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].思茅師范高等??茖W校學報,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.