tft每日頭條

 > 科技

 > 圓柱展開動畫演示

圓柱展開動畫演示

科技 更新时间:2024-12-23 18:55:05

利用GeoGebra來制作圓柱的展開,需要用到的指令并不多。

先來看下效果:

圓柱展開動畫演示(動态演示圓柱的展開)1

圓柱展開動畫演示(動态演示圓柱的展開)2

接下來,看看是如何制作的。

圓柱面展開的制作思路

運用的指令有滑動條(slider)、圓柱(cylinder)、曲面(surface),具體語法如下:

滑動條( <最小值>, <最大值>, <增量>,)

圓柱( <下底圓心>, <上底圓心>, <半徑> )

曲面( <x表達式>, <y表達式>, <z表達式>, <參變量1>, <起始值>, <終止值>, <參變量2>, <起始值>, <終止值> )

為了制作的方便,我們将圓柱的下底圓心放在(-1,0,0)處,半徑為1,高為4(高也可以取其他值)。

于是,可以這麼寫:

a = 圓柱((-1, 0, 0), (-1, 0, 4), 1)

圓柱展開動畫演示(動态演示圓柱的展開)3

a = 圓柱((-1, 0, 0), (-1, 0, 4), 1)

剛剛我們提到需要用的指令之一:曲面指令,其實就是已知參數方程,再套進去。

我們最熟悉的大概就是圓的參數方程

圓柱展開動畫演示(動态演示圓柱的展開)4

(a,b)為圓心坐标,r為圓的半徑

如果要寫圓柱面的參數方程,那就是在此基礎上增加一個,即:

圓柱展開動畫演示(動态演示圓柱的展開)5

現在,我們需要的是下底圓心為(-1,0,0),半徑為1,高為4,也就是:

曲面(-1 cos(θ), sin(θ), h, θ, 0, 2π, h, 0, 4)

圓柱展開動畫演示(動态演示圓柱的展開)6

如果要讓這個曲面能動,那自然是需要變量,我們引進滑動條:

k=滑動條(0,1)

我們需要的展開,其實,就相當于:

  • 圓柱的底面半徑在不斷增大
  • 同時,顯示出來的圓柱面最終是變成矩形面
  • 在這過程中,也就是完整圓柱面(半徑初始時)變為部分圓柱面(半徑逐漸增大)

完整變化為部分,也就是限定範圍:

圓柱展開動畫演示(動态演示圓柱的展開)7

曲面(-1 cos(k θ), sin(k θ), h, θ, 0, 2π, h, 0, 4)

半徑要不斷增大,那就構造一個r,即r = 1 / k

并把系數r放進曲面指令中:

圓柱展開動畫演示(動态演示圓柱的展開)8

曲面(r (-1 cos(k θ)), r sin(k θ), h, θ, 0, 2π, h, 0, 4)

咦!k為0時,曲面就不見了——因為此時r即為無窮大。

也就是k為0時,我們需要構造一個矩形面。怎麼構造,看着上圖來構造,即:

圓柱展開動畫演示(動态演示圓柱的展開)9

至此,我們就可以書寫圓柱面展開的指令:

如果(k == 0, 曲面(0, u, v, u, 0, 2π, v, 0, 4), 曲面(r (-1 cos(k θ)), r sin(k θ), h, θ, 0, 2π, h, 0, 4))

所以,整個效果的呈現,隻需四條指令:

圓柱展開動畫演示(動态演示圓柱的展開)10

至于另一種效果,隻需要改變一下參數的範圍,也就是将上面的曲面指令改寫為:

如果(k == 0, 曲面(0, u, v, u, -π, π, v, 0, 4), 曲面(r (-1 cos(k θ)), r sin(k θ), h, θ, -π, π, h, 0, 4))

圓柱展開動畫演示(動态演示圓柱的展開)11

将兩個圓打開的制作

其實就是将圓旋轉90度。

用到的指令有圓周(circle)、旋轉(rotate)、平移(translate)

圓周( <圓心>, <半徑> )

旋轉( <幾何對象>, <度|弧度>, <旋轉軸> )

平移( <幾何對象>, <向量> )

将圓旋轉0度到90度,需滑動條α:

α=滑動條(0°,90°)

不贅述,下面直接給出相關指令:

g = 圓周((-1, 0, 0), 1, xOy平面)

g' = 旋轉(g, -α, y軸)

h = 圓周((-1, 0, 4), 1, xOy平面)

h' = 旋轉(h, α, 平移(y軸, 向量((0, 0, 0), (0, 0, 4))))

最後一條,旋轉軸,也可以直接寫出直線方程。

結語

到了這裡,就完成了整個作品。

源文件獲取方式:轉發本文,并寫上輕松get圓柱的展開

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved