使用python創(chuàng)建極坐標(biāo)平面的示例代碼
極坐標(biāo)的介紹
PolarPlane
是 Manim(一個(gè)用于數(shù)學(xué)動(dòng)畫的Python庫(kù))中的一個(gè)類,用于創(chuàng)建極坐標(biāo)平面。與笛卡爾坐標(biāo)系不同,極坐標(biāo)系是基于角度和半徑來(lái)定位點(diǎn)的。具體來(lái)說(shuō),這里的每個(gè)點(diǎn)由一個(gè)角度和距離原點(diǎn)的距離表示。
PolarPlane 的主要特性:
極坐標(biāo)系:
PolarPlane
用極徑(r)和極角(θ)來(lái)展示坐標(biāo)系,便于處理與角度和半徑相關(guān)的數(shù)學(xué)概念。網(wǎng)格和坐標(biāo):它通常會(huì)顯示一個(gè)網(wǎng)格,以幫助觀眾理解不同的極徑和角度。
靈活性:可以與其他 Manim 對(duì)象結(jié)合使用,可以在極坐標(biāo)系中繪制圖形或曲線。
使用場(chǎng)景:
- 顯示極坐標(biāo)相關(guān)的數(shù)學(xué)概念,如極函數(shù)、幅角等。
- 動(dòng)畫涉及到旋轉(zhuǎn)或與角度相關(guān)的變化。
- 解析極坐標(biāo)方程圖像。
繪制極坐標(biāo)的構(gòu)造函數(shù)
構(gòu)造函數(shù):
PolarPlane(radius_max=4.0, size=None, radius_step=1, azimuth_step=None, azimuth_units='PI radians', azimuth_compact_fraction=True, azimuth_offset=0, azimuth_direction='CCW', azimuth_label_buff=0.1, azimuth_label_font_size=24, radius_config=None, background_line_style=None, faded_line_style=None, faded_line_ratio=1, make_smooth_after_applying_functions=True, **kwargs)
PolarPlane
類的構(gòu)造函數(shù)接受多個(gè)參數(shù),以便用戶自定義極坐標(biāo)平面的特性。下面是每個(gè)參數(shù)的解釋:
參數(shù)解釋
radius_max: 極坐標(biāo)平面上半徑的最大值。默認(rèn)為
4.0
。size: 極坐標(biāo)平面的大小。如果未指定,通常會(huì)根據(jù)
radius_max
自動(dòng)計(jì)算。radius_step: 半徑標(biāo)記之間的間隔。例如,如果設(shè)置為
1
,則每個(gè)單位的半徑都會(huì)有標(biāo)記。azimuth_step: 指定 azimuth(方位角)標(biāo)記之間的角度步長(zhǎng),例如 30 度 (PI/6)。
azimuth_units: 指定方位角的單位,可以是
‘degrees’
或‘PI radians’
。默認(rèn)為‘PI radians’
。azimuth_compact_fraction: 是否以緊湊的分?jǐn)?shù)形式顯示方位角標(biāo)簽(例如,π/2 而不是 1.5708)。默認(rèn)為
True
。azimuth_offset: 方位角的偏移量,以弧度為單位。默認(rèn)值為
0
。azimuth_direction: 指定方位角的遞增方向,可以是
'CW'
(順時(shí)針)或'CCW'
(逆時(shí)針)。默認(rèn)為'CCW'
。azimuth_label_buff: 方位角標(biāo)簽與極坐標(biāo)圖的距離,增加此數(shù)值可以使標(biāo)簽更遠(yuǎn)離原點(diǎn)。
azimuth_label_font_size: 方位角標(biāo)簽的字體大小,默認(rèn)為
24
。radius_config: 自定義半徑標(biāo)記樣式,可以是顏色、線條樣式等。
background_line_style: 背景線的樣式,通常用于極軌跡和背景網(wǎng)格的樣式。
faded_line_style: 淡化線條的樣式,通常用于控制一些輔助線的風(fēng)格。
faded_line_ratio: 控制淡化線條的比例,默認(rèn)值為
1
。make_smooth_after_applying_functions: 在應(yīng)用函數(shù)后是否使線條平滑,默認(rèn)為
True
。kwargs: 其他參數(shù),傳遞給基類或其他組件。
示例代碼1:
from manim import * class PolarPlaneExample1122(Scene): def construct(self): polarplane_pi01 = PolarPlane( azimuth_units="PI radians", size=5, azimuth_label_font_size=33.6, radius_config={"font_size": 33.6}, ).add_coordinates() self.add(polarplane_pi01) polar_plane = PolarPlane( #radius_max=7.5, size=5, radius_step=1, # 修改為1,顯示更細(xì)的半徑刻度 #azimuth_step=PI/5, # 修改為PI/4,顯示更多的角度刻度 azimuth_units='PI radians', #azimuth_compact_fraction=True, #azimuth_offset=PI/4, #azimuth_direction='CCW', #azimuth_label_buff=0.9, azimuth_label_font_size=33.6, radius_config={"font_size": 33.6}, #radius_config={"color": BLUE}, #background_line_style={"stroke_color": GREY_A, "stroke_width":10}, #faded_line_style={"stroke_color": GREY_B, "stroke_width": 0.5}, #faded_line_ratio=0.5, #make_smooth_after_applying_functions=True ).add_coordinates() self.add(polar_plane) r = 1 theta = PI / 5 x = r * np.cos(theta) y = r * np.sin(theta) point = np.array([x, y, 0]) dot = Dot(point, color=YELLOW) self.add(dot) angle_label = MathTex(r"\theta = \frac{\pi}{5}").next_to(dot, UP) self.add(angle_label) %manim -qm -v WARNING PolarPlaneExample1122
運(yùn)行結(jié)果:
示例代碼2:
from manim import * class PolarPlaneExample2222(Scene): def construct(self): # 創(chuàng)建極坐標(biāo)平面 polar_plane = PolarPlane(azimuth_units="PI radians", size=6, azimuth_label_font_size=33.6, radius_config={"font_size": 33.6}).add_coordinates() # 添加背景線條 self._init_background_lines(polar_plane) # 獲取軸并添加 axes = polar_plane.get_axes() self.add(axes) # 獲取坐標(biāo)標(biāo)簽并添加 coordinate_labels = polar_plane.get_coordinate_labels() #self.add(coordinate_labels) # 進(jìn)行一些動(dòng)畫 self.play(Create(polar_plane)) self.wait(2) def _init_background_lines(self, polar_plane): # 使用 _get_lines() 生成背景線條 non_faded_lines, faded_lines = polar_plane._get_lines() # 添加非淡化線條 self.add(non_faded_lines) # 添加淡化線條 self.add(faded_lines)
運(yùn)行結(jié)果:
以上就是使用python創(chuàng)建極坐標(biāo)平面的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于python創(chuàng)建極坐標(biāo)平面的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
用Python進(jìn)行數(shù)據(jù)清洗以及值處理
這篇文章主要介紹了用Python進(jìn)行數(shù)據(jù)清洗以及值處理,數(shù)據(jù)分析中,數(shù)據(jù)清洗是一個(gè)必備階段。數(shù)據(jù)分析所使用的數(shù)據(jù)一般都很龐大,致使數(shù)據(jù)不可避免的出現(xiàn)重復(fù)、缺失、異常值等異常數(shù)據(jù),如果忽視這些異常數(shù)據(jù),可能導(dǎo)致分析結(jié)果的準(zhǔn)確性,需要的朋友可以參考下2023-07-07pandas數(shù)據(jù)聚合與分組運(yùn)算的實(shí)現(xiàn)
本文主要介紹了pandas數(shù)據(jù)聚合與分組運(yùn)算的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01使用Python發(fā)送郵件附件以定時(shí)備份MySQL的教程
這篇文章主要介紹了使用Python發(fā)送郵件附件以定時(shí)備份MySQL的教程,本文的示例基于CentOS,需要的朋友可以參考下2015-04-04利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件
這篇文章主要給大家介紹了關(guān)于利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05