五邊形頂點座標 足球頂點座標的計算

2021-10-13 05:42:32 字數 3900 閱讀 8365

預備知識 解三稜錐頂角,空間旋轉矩陣

圖 1:足球透檢視

足球的各種常用資料都可以由乙個條件推出,那就是它有 60 個頂點.考慮到每個頂點都有 3 條同樣長度的稜,稜的個數為

\begin

(\text) \times (\text) / (\text) = 90

\end

另外每個頂點都由乙個正五邊形和兩個正六邊形共用,所以五邊形的個數為

\begin

(\text) \times (\text) / (\text) = 12

\end

同理,六邊形的個數為

\begin

(\text) \times (\text) / (\text) = 20

\end

座標計算

以下所用到的方法不僅適用於足球,還適用於其他多面體如正十二面體,正二十面體等.以足球的乙個五邊形作為底面,得到足球的側檢視和俯檢視如圖 2.為了方便討論,我們根據這兩個檢視把足球的頂點按高度分為 a 到 h 共 8 層.並且逆時針給出相應的數字編號.

圖 2:各層和各頂點的命名,右圖中黑色字型對應五邊形的頂點,灰色字型對應六邊形的頂點

由於足球由正六邊形和正五邊形拼成,足球的每一條稜都相等.在以下計算中,不妨設稜長為 1.通過以下幾個步驟,就可以求解足球的各點的直角座標.

求出 $a_1$ 到 $a_5$ 的座標

直角座標系中,令 a 層的五邊形與 $xy$ 平面重合,如下圖.為了表示方便,令

\begin

s = \sin\frac \qquad

c = \cos\frac \qquad

s = \sin\frac \qquad

c = \cos\frac

\end

則點 $a_1$ 到 $a_5$ 的座標分別為

\begin

\left(0, \frac, 0 \right) \quad

\left(-\frac, \frac, 0 \right) \quad

\left(-\frac12, -\frac, 0 \right) \quad

\left(\frac12, -\frac, 0 \right) \quad

\left(\frac, \frac, 0 \right)

\end

三個重要的角

由式 1 可得以下角的大小(以下每個角都是銳角).

兩個六邊形之間的面面角滿足

\begin

\sin\phi_ = \frac

\end

五邊形與六邊形之間的面面角滿足

\begin

\sin\phi_ = \frac}

\end

由式 2,五邊形與相鄰稜的線面角滿足

\begin

\sin\gamma = \frac

\end

圖 3:求線段 $a_1 b_1$ 與底面的線面角

求出 $b_1$ 的座標

若把從 $a_5$ 指向 $a_1$ 的向量記為 $ \boldsymbol} _1$,$a_2$ 指向 $a_1$ 的向量記為 $ \boldsymbol} _2$,$a_1$ 指向 $b_1$ 的向量記為 $ \boldsymbol} $,可得

\begin

\boldsymbol} = \frac} _1 + \boldsymbol} _2}} _1 + \boldsymbol} _2 \right\rvert } \cos\gamma

+ \frac} _2 \boldsymbol\times \boldsymbol} _1}} _2 \boldsymbol\times \boldsymbol} _1 \right\rvert } \sin\gamma

= \frac} ( \boldsymbol} _1 + \boldsymbol} _2) + \frac} ( \boldsymbol} _2 \boldsymbol\times \boldsymbol} _1)

\end

\begin

\boldsymbol} _1 = \frac}} + (c-1) \hat}} } \qquad

\boldsymbol} _2 = \frac}} + (c+c) \hat}} }

\end

代入可得 $ \boldsymbol} $(略),加上 $a_1$ 的座標可得 $b_1$ 的座標.接下來我們並不需要用同樣的方法求出 b 層的其他座標,因為我們可以通過乙個簡單的向量公式依次求出剩下所有頂點的座標.

求剩下的座標

已知空間中正 $n$ 邊形任意連續 3 點的座標,求第 4 點的座標,可以用以下向量公式來計算

\begin

\boldsymbol} _4 = \boldsymbol} _1 - \boldsymbol} _2 + \boldsymbol} _3 + 2 \sin\left(\frac\pi\right) \cdot ( \boldsymbol} _3 - \boldsymbol} _2)

\end

其中 $ \boldsymbol} _i$ 是第 $i$ 點的位置向量.

根據已知的 $a_2, a_1, b_1$ 三個點,該式可以算出 $c_1$ 的座標,再把 $a_1, b_1, c_1$ 的座標代入得到 $c_2$,再由 $b_1, c_1, c_2$ 得到 $b_2$,以此類推.當 $c$ 層完成後,又可以同理算出其他層的所有頂點.下面我們來推導這個公式.

圖 4:由正 $n$ 邊形的 3 個頂點座標求第 4 個頂點座標.圖中以五邊形為例,但圖中的公式適用於任意的 $n > 2$

令 $ \boldsymbol} _i = \boldsymbol} _ - \boldsymbol} _i$,從圖 4 中不難發現

\begin

\boldsymbol} _1 + \boldsymbol} _3 = 2 \sin\left(\frac\pi\right) \cdot \boldsymbol} _2

\end

將 $ \boldsymbol} _i$ 代入即可得到式 11.

足球的高度和中點座標

我們從底部的五邊形出發,沿著任意一條外接稜的方向前進,依次會經過稜,五邊形,六邊形,六邊形,頂部的五邊形.如果從反方向出發,順序恰好相反.這兩條路線恰好可以繞足球一整圈.

按照第一種路線到達頂部,轉過的角度依次是 $\gamma, \gamma, \phi_, \phi_, \phi_$.可以驗證,它們相加等於 $\pi$.

考慮到經過的五邊形(邊長為 1)的中軸線長度是 $(1+c)/(2s)$,經過的六邊形的中軸線長度是 $\sqrt$,經過的稜長為 1,底部五邊形到頂部五邊形的高度為

\begin \begin

h &= \sin\gamma + \frac \sin\left(2\gamma\right) + \sqrt \sin\left(2\gamma + \phi_\right) + \sqrt \sin\left(2\gamma + \phi_ + \phi_\right) \\

&= \sqrt\sqrt 5 + \frac}

\end \end

球心到底面和頂面的距離為 $h/2$.

由勾股定理可以得到中心點到任意頂點的距離為

\begin

r = \sqrt \right) ^2 + \left(\frac \right) ^2} = \frac14 \sqrt + 58}

\end

1. ^ 事實上這個式子很難化簡,結果來自 wikipedia 查詢並通過數值驗證.

致讀者: 小時百科一直以來堅持所有內容免費無廣告,這導致我們處於嚴重的虧損狀態。 長此以往很可能會最終導致我們不得不選擇會員制,大量廣告,內容付費等,甚至被收購。 因此,我們請求廣大讀者熱心打賞,使**得以健康發展。 如果看到這條資訊的每位讀者能慷慨打賞 10 元,我們乙個星期內就能脫離虧損狀態, 並保證**能在接下來的一整年裡向所有讀者繼續免費提供優質內容。 但遺憾的是只有不到 1% 的讀者願意捐款, 他們的付出幫助了 99% 的讀者免費獲得知識, 我們在此表示感謝。

五邊形頂點座標 足球頂點座標的計算

預備知識 解三稜錐頂角,空間旋轉矩陣 圖 1 足球透檢視 足球的各種常用資料都可以由乙個條件推出,那就是它有 60 個頂點 考慮到每個頂點都有 3 條同樣長度的稜,稜的個數為 begin text times text text 90 end 另外每個頂點都由乙個正五邊形和兩個正六邊形共用,所以五邊...

五邊形lisp程式 CAD LISP 程式

1 10 1.計算所有線段總長度 載入後只需框選所有線段便可得出這些線段的總長度 defun c ll setvar cmdecho 1 setq en ssget list 0 spline,arc,line,ellipse,lwpolyline setq i 0 setq ll 0 repeat...

使用UGUI自定義五邊形

using unityengine using system.collections.generic using unityengine.ui 5 6 0 4 1 2 3 public class uipropwidget graphic void update public void init p...