# 圓的漸開線 > 作者:王一哲 > 日期:2021/2/5 ## 原理 漸開線的英文為 involute 或 evolute。假設B為圓周上的點,B點繞圓心O旋轉的弧長為L,在過B點的切線上有一個P點,BP的距離等於 L,則P點的軌跡為圓的漸開線,圓的漸開線常用來作為齒輪邊緣的形狀。若使用參數式則為 $$ x = a (\cos t + t \sin t) $$ $$ y = a (\sin t - t \cos t) $$ 以下是[使用 GeoGebra 繪製圓的漸開線](https://www.geogebra.org/m/yeynmwq4)成果。 <img height="80%" width="80%" src="https://i.imgur.com/61hw3Zu.gif" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">使用 GeoGebra 繪製圓的漸開線動畫</div> <br /> ## 繪圖步驟 1. 輸入指令設定半徑r、角速度ω、週期T。 ```latex r = 1 ω = 1 T = 2*π/ω ``` 2. 輸入指令設定控制時間 t 的數值拉桿,再開啟屬性選單,將動畫設定為**遞增(一次)**。 ```latex t = Slider(0, 2*T, 0.01*T) ``` 3. 輸入指令畫出圓心O點以及半徑為r的圓形c。 ```latex O = Point({0, 0}) c = Circle(O, r) ``` <img height="40%" width="40%" src="https://i.imgur.com/9IQCx8P.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">繪圖步驟1 ~ 3</div> <br /> 4. 使用點工具於圓形c上新增點A,再將點A拉到圓形c的左方。 5. 輸入指令畫出繞著O點順時鐘方向旋轉的B點,再隱藏點A。 ```latex B = Rotate(A, -ω t, O) ``` <img height="40%" width="40%" src="https://i.imgur.com/B7NARqX.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">繪圖步驟4、5</div> <br /> 6. 輸入指令計算B點繞著O點旋轉的弧長 arclen。 ```latex arclen = r*ω*t ``` 7. 輸入指令新增射線OB並命名為f。 ```latex f = Ray(O, B) ``` 8. 輸入指令新增通過B點的切線g。 ```latex g = Tangent(B, c) ``` 9. 使用點工具於切線g上、B點的下方新增C點。 <img height="40%" width="40%" src="https://i.imgur.com/g0gpNS9.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">繪圖步驟6 ~ 9</div> <br /> 10. 輸入指令新增通過B、C點的向量u,計算向量u的單位向量direct。 ```latex u = Vector(B, c) direct = u / Length(u) ``` 11. 輸入指令將B向沿著向量direct的方向平移距離arclen,平移後的點命名為P。 ```latex P = Translate(B, direct*arclen) ``` 12. 顯示移動P點的移動軌跡。 ```latex SetTrace(P, True) ``` 13. 輸入指令通過B、P點的射線h。 ```latex h = Ray(B, C) ``` <img height="60%" width="60%" src="https://i.imgur.com/Bco693s.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">繪圖步10 ~ 13</div> <br /> 14. 輸入指令用參數式畫出圓的漸開線,由於t已經被用來表示時間,故參數式中改用t1。 ```latex theory = Curve((-r*(cos(t1) + t1*sin(t1)), r*(sin(t1) - t1*cos(t1))), t1, 0, 4*π) ``` <img height="80%" width="80%" src="https://i.imgur.com/61hw3Zu.gif" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">使用 GeoGebra 繪製圓的漸開線動畫</div> <br /> ## 相關指令的官方說明書 1. 數值滑桿 https://wiki.geogebra.org/en/Slider_Command 2. 點 https://wiki.geogebra.org/en/Point 3. 圓 https://wiki.geogebra.org/en/Circle_Command 4. 旋轉 https://wiki.geogebra.org/en/Rotate_Command 5. 射線 https://wiki.geogebra.org/en/Ray_Command 6. 切線 https://wiki.geogebra.org/en/Tangent_Command 7. 向量 https://wiki.geogebra.org/en/Vector 8. 設定軌跡 https://wiki.geogebra.org/en/SetTrace_Command 9. 曲線 https://wiki.geogebra.org/en/Curve_Command <br /> --- ###### tags:`GeoGebra`