最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

S5G1 圓面積的扇形分割

2022-02-25 11:49 作者:學(xué)用數(shù)學(xué)  | 我要投稿

學(xué)用數(shù)學(xué)第五季的第一個任務(wù),就來慶祝 3/14 日的 Pi Day 。在這個案例將利用圓的切割來說明,圓面積公式與圓周長的關(guān)聯(lián)。




你將學(xué)會

這節(jié)最主要是分析問題的拆解能力,對于上述的動畫,先分析單一扇形的展開,接著再套用到多個相似結(jié)構(gòu)的扇形。要點(diǎn)如下

1.旋轉(zhuǎn) Rotate,? 平移 Translate

2.用迭代列表產(chǎn)生一串點(diǎn) IterationList

3.用序列來繪制多個扇形 Sequence

4.利用指令 setLineStyle, setCaption 來調(diào)整顯示

問題拆解

1 如何將分割成 12 塊的扇形展開呢?

Q:? 這個動畫分為哪些步驟?

A:??四個步驟,扇形展開、水平移動、斜上移動、顯示文字。

要用這四段呈現(xiàn),我們建一個滑動條 t ,時間有?0 到 4。

t?=?Slider(0,4,0.1)

Q: 這個操作顯得很復(fù)雜,該如何切入呢?

A: 從塊數(shù)比較少的結(jié)構(gòu)開始來研究,先個滑動條 n 來控制分割塊數(shù)。至少 4 塊,至多 128 塊。

n?=?Slider(4,128,2)

Q: 如何分析第一個扇形的移動?

A:扇形在展開時,一個端點(diǎn) R0 不動,但另個端點(diǎn)從 R10 轉(zhuǎn)到水平位置 R11 。為這兩點(diǎn)的距離是維持不變的,因此用極坐標(biāo)來標(biāo)示兩點(diǎn)比較方便。??此時,動態(tài)變換的點(diǎn) R1t ,用時間參數(shù) t1 來控制。其中,t1 對應(yīng)到 t 的 0~1。

Q: R0, R1 的距離為多少?

A:? 因 O1R0R1 為腰長為 1 的等腰三角形。而等分為 n 份時,頂角的角度為 2*pi/n,作此角的平分線,亦將 R0R1 平分。所以 R0R1 長為?2*sin(pi/n)。

t1?=?if(t<=1,t,1)

R0?=?(0,-1)

sn?=?2*sin(pi/n)

R10?=?R0?+?(sn;pi/n)

R11?=?R0?+?(sn;0)

R1t?=?R0?+?(sn;?(1-t1)?pi/n)

Q: 標(biāo)示好兩端點(diǎn)R0, R1t,如何找出繪制扇形的圓心呢?

A:因已知底角的位置與底角的大小,通過將點(diǎn)旋轉(zhuǎn)取得方向,再利用 UnitVector 來將長度調(diào)整為 1 ,來取得圓心 O1 的位置。而隨著 R1t 的變動,O1 也變動。

A:取得 O1,R0, R1t ,再利用 circularSector 作扇形。

V1 = Rotate(R1t,pi/2-pi/n,R10)

O1?=?R0?+?UnitVector(Vector(O1,V1))

cs1 = CircularSector(O1,R0,R1t)

2 第二個扇形如何設(shè)定?


Q:??第二個扇形的位置為何?

A: 第二個扇形的頂點(diǎn) R2t 可視為將 R0 對 R1t 旋轉(zhuǎn)得到??梢韵确治稣归_前與展開后的夾角。

A:這個旋轉(zhuǎn)角在未展開時為 2*(pi/2-pi/n)。但展開后為 pi 。要讓這角隨著 t1 改變,可設(shè)定旋轉(zhuǎn)角度為 2*(pi/2+(1-t1)*pi/n)。

R2t?=?Rotate(R0,?-2*(pi/2-(1-t1)*pi/n),?R1t)

Q:那 R3t 的位置呢?

A:其關(guān)系也是類似的,這時將 R1t 對 R2t 旋轉(zhuǎn)可得到 R3t。

R3t?=?Rotate(R1t,?-2*(pi/2-(1-t1)*pi/n),?R2t)

Q:那? O2, O3 的關(guān)系呢?

A:也與 O1 類似,但這提供另個做法,可將長度先調(diào)為單位長,接著再用旋轉(zhuǎn)得到,而其旋轉(zhuǎn)角為底角的大小 pi/2 - pi/n。

O3 = R2t+Rotate(UnitVector(Vector(R2t,R3t)),pi/2-pi/n)

O2 = R1t+Rotate(UnitVector(Vector(R1t,R2t)),pi/2-pi/n)

cs2 = circularSector(O2,R1t,R2t)

cs3 = circularSector(O3,R2t,R3t)

3 利用迭代來做多個扇形

因 R2t 由 R1t, R0t 得到。而R3t 由 R2t, R1t 得到,因此,可用迭代列表來依序產(chǎn)生這些點(diǎn) Rs。


Q:IterationList 的結(jié)構(gòu)是什么?

A:先看以下用 iterationList 產(chǎn)生 10 項(xiàng)的費(fèi)氏數(shù)列。可看到, IterationList 需先寫 迭代規(guī)則 Y+Z,再明確變數(shù)的代號。接著用 {1, 1} 輸入初始值,再指定次數(shù) 10 。

Fibs?=?IterationList(Y+Z,?Y,?Z,?{1,1},10)

Q:? Rs 的關(guān)系如何用迭代列表決定。?

A: 主要的迭代的語法為?Rotate(Y, 2*(pi/2+(1-t1)*pi/n), Z),再將初始值定為 {R0, R1t} 。

Rs = IterationList(Rotate(Y, 2*(pi/2+(1-t1)*pi/n), Z), Y, Z, {R0,R1t},n/2)

Q:如何取得圓心的位置?

A:現(xiàn)在已有 Rs, ?而 Os(k) 可基于 Rs(k), Rs(k+1) 經(jīng)伸縮再旋轉(zhuǎn)而得到 Os(k)。要對不同的 k 作這操作就可用 sequence 來達(dá)成。

A:有了 Os,Rs 就可用 Sequence 制作大量的扇形。?

Q:左側(cè)的圓該如何處理呢?

A:最簡潔的寫書法可用對 csRs1 旋轉(zhuǎn)得到。

Os?=?Sequence(Rs(k)+Rotate(UnitVector(Vector(Rs(k),Rs(k+1))),pi/2-pi/n),k,1,n/2)

csRs1 = Sequence(CircularSector(Os(k),Rs(k),Rs(k+1)),k,1,n/2)

csLs1 = rotate(csRs1,pi)

4?扇形的平移

完成左右兩部分的扇形后,接著就要進(jìn)行平移來控制移動。稍微要注意的是 csRS1, csLs1 是對原點(diǎn)對稱。因此,這節(jié)的重點(diǎn)在于平移向量的計(jì)算。


Q:如何描述第二段的水平移動?

A:? 主要平移量為扇形展開后邊長的一半。因此,其中扇形兩端點(diǎn)的距離為 2*sin(pi/n) ,而 n/2 個扇形的總長度為 n/2*2*sin(pi/n) = n*sin(pi/n)?。所以 t2 時間段的位移量為 t2*(-n*sin(pi/n),0)/2。利用 translate 來達(dá)成這效果。

t2?=?if(t<=1,0,if(t<=2,t-1,1))

shift2?=?t2*(-n*sin(pi/n),0)/2

csRs2?=?translate(csRs1,shift2)


Q:如何描述第三段的水平移動?

A:??主要觀察到目的是將 RO3 移至 L3 。但因?yàn)槭欠殖蓪ΨQ的兩部分同時移動,因此,移動向量為?0.5*Vector(RO3,L3) 。其中水平位移位為 sin(pi/n),而垂直位移為?(2-cos(pi/n))。

A:再設(shè)定 t3 ,讓 shift3 隨 t3 而變動。此時,可設(shè)定 csRs3 為由 csRs1 來經(jīng)過 shift2 + shift3 的平移。(思考:若設(shè)定 csRs3 由 csRs2 平移會有何問題)

t3?=?if(t<=2,0,if(t<=3,t-2,1))

shift3 = t3*(sn,2-cos(pi/n))/2

csRs3?= translate(csRs1,shift2+shift3)

csLs3?=?rotate(csRs3,pi)

5?訊息的顯示

為了顯示面積與圓周的關(guān)系,在平移結(jié)束后再顯示些文字訊息。先出現(xiàn)長方形,再出現(xiàn)長方形對應(yīng)的長與寬,并在下方顯示文字。

Q:長方形的位置為何?

A:長為 pi, 高為 1。但因?yàn)橐栽c(diǎn)為中心,因此,四個角的坐標(biāo)為?(pi/2,1/2) .... 。

rect?=?polygon((-pi/2,-1/2),(pi/2,-1/2),(pi/2,1/2),(-pi/2,1/2))

Q:如何標(biāo)示線段長的圓弧線?

A:利用 circularArc 來標(biāo)示,在使用時,要調(diào)一下圓心的位置,來讓弧線的彎曲度比較合適。

A:而虛線可用 setLineStyle 來調(diào)整。

caRight = ?circularArc((1,0),(pi/2,-1/2),(pi/2,1/2))

caAbove?=??circularArc((0,-3),(pi/2,1/2),(-pi/2,1/2))

Q:弧線的標(biāo)題與線型也可用指令設(shè)置?

A:對于弧線,其線型可用 setLineStyle ,其第二個參數(shù)為設(shè)置不同的線型。

A:而標(biāo)題可用 setCaption 來設(shè)定,在第二個參數(shù)加入 $ $ 就可使用 LaTeX 數(shù)學(xué)式。

A:初期用指令還要記憶指令名詞,長期而言,用指令設(shè)置可以讓指令更方便于腳本操作。

setLineStyle(caRight,3)

setLineStyle(caAbove,3)

setCaption(caRight,"$\Large r$")

setCaption(caAbove,"$\Large \pi \times r$")

Q:文本的部分也可用指令輸入?

A:文本的部分也可,先輸入文本容,再輸入位置。最后兩個參數(shù)為用用變數(shù)來顯示,與 LaTex 與斜體的數(shù)學(xué)式來顯示。大家可以把他改為 False 觀看效果是否有改變。

Text("$\Large?圓面積?=?\pi?\times?r?\times?r?=?\pi?r^2?$",?(-π?/?2,?-1),?true,?true)

再設(shè)定好了,顯示資訊,就可用用條件顯示來控制上述物件出現(xiàn)的時間點(diǎn)。


總結(jié)回顧

在這節(jié)最核心的還描述一堆扇形如何移動。在這案例我用迭代的方式產(chǎn)生。但也有用序列同時顯示扇形端點(diǎn)的方法。主要的觀察是這些端點(diǎn)在移動的過程其實(shí)都是共圓的,利用在這圓弧上取等距的點(diǎn)也可取得扇形端點(diǎn)。

另外,也可鼓勵考慮不同的拼貼的路徑,例如下圖洋蔥小學(xué)的展開方式。題目最大的挑戰(zhàn)還是去用數(shù)學(xué)分析路徑變化。


參考鏈接

【GGB】https://www.geogebra.org/m/ucb2dsqm

【Bili】https://www.bilibili.com/video/av91280728

【YouTube】https://www.youtube.com/playlist?list=PLXH05kw-i_5JNrYOB5-dPQW_DxErQu2ck

S5G1 圓面積的扇形分割的評論 (共 條)

分享到微博請遵守國家法律
桂林市| 浦县| 鲁山县| 紫云| 祁东县| 米林县| 临夏市| 镇原县| 高密市| 漳州市| 胶南市| 霍山县| 城市| 甘孜| 马边| 宜兰市| 兴山县| 安庆市| 郧西县| 灵丘县| 鹤岗市| 咸阳市| 金沙县| 吉林省| 晴隆县| 万全县| 临澧县| 咸宁市| 北流市| 沈丘县| 常山县| 鹿邑县| 峨眉山市| 汤阴县| 黄浦区| 鄂托克旗| 旌德县| 滨州市| 宣化县| 烟台市| 景泰县|