Cone是Manim中專門用于創(chuàng)建和操控錐形幾何對象的類。 Cone允許用戶定義錐體的底面半徑、高度、顏色、不透明度等屬性,并提供了一系列方法來操控這個錐體,如移動、縮放、旋轉(zhuǎn)等。 通過這些屬性和方法,用戶可以靈活地創(chuàng)建出符合自己需求的錐形對象,并將其融入到動畫或演示中。 1. 主要參數(shù) Cone的
Cone
是
Manim
中專門用于創(chuàng)建和操控
錐形幾何對象
的類。
Cone
允許用戶定義錐體的底面半徑、高度、顏色、不透明度等屬性,并提供了一系列方法來操控這個錐體,如移動、縮放、旋轉(zhuǎn)等。
通過這些屬性和方法,用戶可以靈活地創(chuàng)建出符合自己需求的錐形對象,并將其融入到動畫或演示中。
Cone
的主要參數(shù)有:
參數(shù)名稱 | 類型 | 說明 |
---|---|---|
base_radius | float | 圓錐底部的半徑 |
height | float | 圓錐的高度,也就是圓錐從底面中心到頂點的垂直距離 |
direction | np.ndarray | 圓錐的朝向 |
show_base | bool | 是否顯示圓錐的底面 |
v_range | list[float] | 圓錐縱向掃描的范圍,用于控制圓錐側(cè)面的縱向形狀 |
u_min | float | 圓錐橫向掃描的最小角度,影響圓錐側(cè)面的橫向分布 |
checkerboard_colors | bool | 是否使用棋盤格顏色模式,有助于在視覺上區(qū)分圓錐的不同部分 |
這些參數(shù)允許用戶靈活地創(chuàng)建和自定義圓錐體對象。
例如,通過調(diào)整
base_radius
和
height
參數(shù),可以改變圓錐的大小和形狀;通過
direction
參數(shù),可以控制圓錐的朝向;而
show_base
、
v_range
、
u_min
和
checkerboard_colors
參數(shù)則提供了對圓錐視覺表現(xiàn)的進一步定制。
Cone
類有兩個自己特有的改變方向的方法:
名稱 | 說明 |
---|---|
get_direction | 用于獲取圓錐體的方向向量。這個方向向量通常是一個三維向量,表示圓錐體在空間中的朝向。 |
set_direction | 用于設(shè)置圓錐體的方向向量。通過傳入一個新的三維向量,可以改變圓錐體在空間中的朝向。 |
下面的示例將展示如何創(chuàng)建圓錐體對象、設(shè)置其參數(shù)、以及調(diào)用其方法來改變圓錐體的屬性或進行動畫。
本示例展示了如何在
Manim
場景中創(chuàng)建一個基本的圓錐體。
圓錐體具有指定的底面半徑和高度,并且默認方向朝上。
# 創(chuàng)建一個底面半徑為1,高度為2的圓錐體,
# 方向朝上(默認方向)
cone = Cone(base_radius=1, height=2)
在此示例中,創(chuàng)建了一個圓錐體,并對其進行了自定義設(shè)置。
這包括設(shè)置圓錐體的 填充顏色 、 邊框顏色 、 邊框?qū)挾? ,以及將其移動到場景中的 特定位置 。
這樣,圓錐體不僅具有獨特的外觀,還位于用戶指定的位置。
# 創(chuàng)建一個底面半徑為1.5,高度為3的圓錐體,
# 設(shè)置填充顏色和邊框顏色
cone = Cone(
base_radius=1.5,
height=3,
fill_color=RED,
stroke_color=YELLOW,
stroke_width=2,
)
# 將圓錐體移動到場景中的特定位置
cone.move_to(np.array([1, 1, 1]))
這個示例演示了如何為圓錐體添加動畫效果。
首先,創(chuàng)建了一個圓錐體,并隨后應(yīng)用了兩種動畫:旋轉(zhuǎn)和縮放。
圓錐體先繞y軸旋轉(zhuǎn)了一定角度,然后按比例放大。
# 創(chuàng)建一個底面半徑為1,高度為2的圓錐體
cone = Cone(
base_radius=1,
height=2,
fill_color=BLUE,
)
# 將圓錐體添加到場景中
self.play(Create(cone))
# 創(chuàng)建旋轉(zhuǎn)動畫,繞y軸旋轉(zhuǎn)90度
self.play(
Rotate(
cone,
axis=Y_AXIS,
angle=PI / 2,
),
)
# 創(chuàng)建縮放動畫,將圓錐體放大1.5倍
self.play(cone.animate.scale(1.5))
此示例展示了如何復(fù)制圓錐體并將其排列成一行。
首先,創(chuàng)建了一個圓錐體作為模板,然后使用循環(huán)創(chuàng)建了多個該圓錐體的副本,并將它們稍微移動位置以排列成一行。
# 創(chuàng)建一個底面半徑為0.5,高度為1的圓錐體作為模板
cone_tpl = Cone(
base_radius=0.5,
height=1,
fill_color=GREEN,
)
# 創(chuàng)建一個圓錐體數(shù)組,
# 每個圓錐體都是模板的復(fù)制,并稍微移動位置
cones = VGroup(
*[cone_tpl.copy().move_to([i, 0, 0]) for i in range(5)]
)
# 將圓錐體數(shù)組添加到場景中
self.play(Create(cones))
# 整個圓錐體數(shù)組一起移動
self.play(cones.animate.shift(LEFT * 3))
文中的代碼只是關(guān)鍵部分的截取,完整的代碼共享在網(wǎng)盤中(
cone.py
),
下載地址: 完整代碼 (訪問密碼: 6872)
小編推薦閱讀Manim中的Cone類:創(chuàng)建和操控錐形幾何對象
閱讀MethodTimer:一個輕量級的.NET運行耗時統(tǒng)計庫
閱讀構(gòu)建人工智能模型基礎(chǔ):TFDS和Keras的完美搭配
閱讀創(chuàng)建鴻蒙應(yīng)用的橫屏顯示直尺應(yīng)用全程解析
閱讀WiFi基礎(chǔ)(七):WiFi漫游與WiFi組網(wǎng)
閱讀遷移學(xué)習(xí):人工智能模型訓(xùn)練的絕學(xué)
閱讀如何使用 Pytorch 中的 DataSet 和 DataLoader
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2024 haote.com 好特網(wǎng)