DX 五角星計算

2021-10-04 06:12:55 字數 1636 閱讀 4913

基礎知識:

正五角星的角尖是36度,拐度是108度。

分析:可以把五角星分成五個相同的等腰直接三角和乙個正五邊形,如。

多邊形內角和計算公式:(n - 2)×180°(n大於等於3且n為整數)。

根據公式,可以算出五邊形內角和為(5-2)×180°=540°,所以五邊形每個角的度數為:540°÷5=108°。

已知正五邊形每個角都是108° ,則等腰直角三角形的下面的兩個相等的角為72°。

三角形內角和為180°,則三角形上面的那個角=180°-72°-72°=36°

所以,五角星的五個頂角各是36°,拐角度數=180-(180-36)÷2=108°。

五角星計算 ,確定座標點:

說明:① 座標原點o(0,0)為座標原點

② 五角星的長軸為r = |oa|,長度已知

③ 五角星的短軸為r = |oa1|

④ 弧度制為rad = π/180 rad

五角星分為以下幾個步驟:

① 求五角星外五個頂點的座標(a,b, c, d, e)

由圖可知:∠fbg = 18°,∠aoa』 = ∠a』ob = 36°, ∠aob = 72°

由極座標公式:

x=rcos(θ),

x=rsin(θ),

可以得到外五角星的五個座標:

((r * cos(90°+ k * 72°+ ydegree)), (r * sin(90°+ k * 72°+ ydegree)))其中k = 0、1、2、3、4, ydegree為oa與y軸的夾角(如下圖),預設為0。

但畫圖時會由中心點o(x, y)確定五角星外五個頂點的座標,經過座標變換為:

(x -(r * cos(90°+ k * 72°+ ydegree)), y - (r * sin(90°+ k * 72°+ydegree)))

②求解五角星內五頂點座標(a1, b1, c1,d1, e1)

由圖可知:r * cos(36°) = |fo| = r * sin(18°)

所以:r = r * sin(18°) / cos(36°);

根據步驟①相同方法得到五角星內五頂點座標:

((r* cos(90°+ 36°+ k * 72°+ydegree)), (r * sin(90°+ 36°+ k * 72°+ydegree)))其中k = 0、1、2、3、4, ydegree為oa與y軸的夾角,預設為0。

但畫圖時會由中心點o(x, y)確定五角星外五個頂點的座標,經過座標變換為:

(x -(r * cos(90°+ 36°+ k * 72°+ydegree)), y - (r * sin(90°+ 36°+ k* 72°+ ydegree)))

五角星畫法

從小都畫不好的五角星原來有畫法 的,只要尺子和圓規就可以了 1.首先移動中心到將要畫的五角星中心 2.沿 x 軸移動起點 p1 到五角星一角所在的位置,如綠線所在右側終點 3.順時針旋轉座標系36度 4.再次沿 x 軸移動終點 p2 p2 到中心的距離小於 p1 到中心的距離,從而產生五角星凹處的效...

五角星的畫法

繪製五角星作為gdi 畫圖的乙個示例 這是從網上找的比較簡單的方法 void mydraw graphics g,point center,int radius 旋轉72 private point rotate72 point pt,point center 計算內五邊形畫空心五角星 今天畫五角星...

OpenGL繪製五角星

include include include gl.h include glut.h 三稜錐的繪製 2016 10 30 vizer pragma comment linker,subsystem windows entry maincrtstartup 隱藏控制台視窗 旋轉引數 static g...