欢迎光临散文网 会员登陆 & 注册

S9G5 黄金螺线与极坐标方程

2021-05-04 06:28 作者:学用数学  | 我要投稿

談到黃金比例,常會提到黃金螺線,並說鸚鵡螺就符合黃金螺線。這次就讓我們用 Geogebra 來驗證看看是否符合黃金螺線。為了繪製黃金螺線,本節也將介紹極坐標的曲線方程。從這來認識阿基米德螺線 r = a+b θ 與等角螺線 r = a*b^θ。


任務一:極坐標方程與阿基米德螺線

說明:

圓弧型的曲線很適合用極座標方程來表示。先來欣賞個基本的阿基米德螺線 r = θ 。

當 GGB 看到式子中有 r, θ  時,會自動用極座標方程來解釋。也就是會轉譯為 Curve( (θ; θ),θ,0, 2*pi) 。

在座標中間用分號來標示時,就表示此為極座標。第一個參數表示半徑 r 。因此, (θ; θ) 就表示 r = θ 。若希望多繞幾圈,再輸入參數 n ,則 Curve( (θ; θ),θ,0, 2*n*pi)  就表示繞 n=5 圈的阿基米德螺線。

若要繪製更一般的阿基米德螺線,則可加入滑動條 a,b ,並定義 c1=Curve( (b - a θ; θ),θ,0, 2*n*pi) 、c2=Curve( (b + a θ; θ),θ,0, 2*n*pi) ,就可形成兩個方向的螺線。

操作步骤:

a = 1/(2*pi)

b = 0 

n = 5

c1 = Curve((aθ+b;θ),θ,0, 2*n*pi)

c2 = Curve((-aθ+b;θ),θ,0, 2*n*pi)

t = Slider(0,n)

Pt = c1(2*pi*t)  # 讓 Pt 在 C1 上移動

vPt = Vector(O,Pt)

補充:嘗試輸入 r= a (1-sin θ) 就可以得到笛卡爾心型線。


任務二:極坐標方程與等角螺線


說明:這節要來探究等角螺線,其極座標方程為 r = b^θ ,表示隨著角度增大時,其半徑等比的增大。若將方程改寫為 r = b^(θ/2*pi) 時,表示每增加一圈,半徑變為 b 倍。可類比於阿米米德螺線 r =  b*θ/(2*pi) ,每增加一圈,其半徑增加 b 。一個是等比、另一個是等差的形式。

這個螺線又稱為等角螺線主要因為從中心點與曲線上一點的連線與其切線的夾角都是定值。

而所謂的黃金螺線其 b 值為 1.618^0.5 也就是每繞半圈其半徑變為 1.618 倍。再加入參數a 就可以得到一個大小縮放的黃金螺線。

操作步驟

a= 0.90162

b= 1.618^2

n=4 

c1 = Curve( (a*b^(t/(2*pi);t), t, 0 , 2*n*pi)

A= Point(c1)

O=(0,0)

LOA=Line(O,A)

# 使用 Intersect(LOA,c1)  會產生很多點,將這些點命名為 A1,A2,A3

A0 = Intersect(LOA,c1)

A1 = Intersect(LOA,c1)

A2 = Intersect(LOA,c1)

A3 = Intersect(LOA,c1)

tA_0 = Tangent(A,c1) 

tA_1 = Tangent(A_1,c1)

tA_2 = Tangent(A_2,c1)

aA0 = Angle(sA0,tA2)

aA2 = Angle(sA0,tA0)

任務三:極坐標方程與等角螺線

說明:在了解等角螺線的基本參數 r=a*b^(θ/(2*pi)) 後,此節要將等角螺線套用在圖片上。先插入圖片,並調整好位置,使得螺線的起始點位在原點 O。

接著在螺線上標一個點 A ,再連接 AO 並在內圈螺線標註點 B 。接著以 b=OA/OB 來取得參數 b 的值。

而對於 a 的選取,要設置螺線轉了 loop 圈後,到達 A 點。也就是當 aA =  Angle(A)+2*loop*pi 時,r= a*b^(aA/(2*pi)) = OA 長。因此 ,a 取值為 OA/(b^(aA/(2*pi)) 。

接著再建立曲線方程  cA= Curve( (a*b^(t/(2*pi));t),t,0,aA ) 就可得到貼合螺線的黃金螺線。


操作步骤

O = (0,0)

A = (-10,-3) # 在圖上的螺線選一點

sOA = Segment(O,A)

B= Point(sOA) # 並將 O 移動內圈螺線上

sOB = Segment(O,B)

b = sOA/sOB

loop = 3

aA = angle(A)+loop*2pi

a = sOA/(b^(aA/(2*pi)))

cA= Curve( (a*b^(t/(2*pi));t),t,0,aA )

任務四:螺線的內部圓弧

說明:為了繪製內部的螺紋,需在螺紋上建立一個點。此時用圓弧工具連接 A,C,B 就可以出現第一個圓弧。

要建立多個圓弧,先用序列取得螺線上的點。首先,先數出一圈約有 m=16 個螺紋。因此,一圈有 n=16*loop-1 的螺紋。因此,將曲線 cA 的範圍分割為 n 段。要取得這圓弧兩端點 As,Bs 可用 Sequence( cA(t aA/n), t, m+1, n ) 以及Bs = Sequence( cA(t aA/n), t, 1, n-m ) 。

接著再利用  C 來建立圓弧的第三個點。先取得過 C 的等角螺線。因此,先計算 aC = angle(C)+2*pi*loop,c = Segment(O,C)/(b^(aC/(2*pi)))。此時就可得過 C 的等角螺線 cC=Curve( (ac*b^(t/(2*pi)) ; t), t, 0, aC)。

接著建立 cC 上的分割點,參照先前的任務,建立 Cs= Sequence( cC(t* aC/n), t, m+1, n )。再利用 zip 來建立多個圓弧。

操作步骤:

# m 为一圆周内出现的圆弧数量,利用这个建立圆弧两端的点列As,Bs

m=16

n=m*(loop+0.5)-1

As = Sequence( cA(t aA/n), t, m+1, n )

Bs = Sequence( cA(t aA/n), t, 1, n-m )

#先标示一点 C ,并借此建立弧上点列Cs,来建立圆弧列

aaC = angle(C)+loop*2pi

c = Segment(O,C)/(b^(aC/(2*pi)))

cC= Curve( (c*b^(t/(2*pi)) ; t), t, 0, aC)

Cs= Sequence( cC(t* aC/n), t, m+1, n )

cs = zip(CircumcircularArc(a,c,b), a, As, c,Cs,b,Bs )

#建立滑条条让图形依次出现

fcs=slider(1,10,1,1,100)

Fcs=First(cs,fcs)

s=slider(0,1,0.01,1,100)

sCs=Curve(cA(t),t,0,s*aA)


小結

本节主要认识极座标方程的使用。通过极座标方程来绘制圆状的曲线。

除了极座标方程外,最有趣的还是在于问题的拆解,从一个图片尝试去解构其数学的结构。除了这个范例,这边也在附上另外一个螺线图。鼓励大家多做这些尝试,会更加活化应用数学语言的能力。


【GGB】https://www.geogebra.org/m/dvs8nhxf
【Bili】https://www.bilibili.com/video/bv1w5411w74f

【youtube】https://www.youtube.com/playlist?list=PLXH05kw-i_5IsMozVV-Lbw7oahYCQlgRl

S9G5 黄金螺线与极坐标方程的评论 (共 条)

分享到微博请遵守国家法律