看板 Mathematica 關於我們 聯絡資訊
也許這裡有人有看過我在 Math 版回答問題時附的圖 這種圖我都是直接開 Mathematica 起來作圖的 畢竟這方面它是專家 XD (雖然最近會用 Geogebra 作一些幾何相關的圖就是了) 最近一個在 Math 版貼的成品是這個 http://w.csie.org/~b94102/math/Math66.gif
關於這張圖的前情提要可見 Math 版 #1J0pkzzR 以及其回應 以下來分享的則是我這張圖的作圖過程及心得 XD 最終產生圖的程式碼如下: Table[ Show[{ ParametricPlot3D[ {5 Cos[θ-φ], 5 Sin[θ-φ], -5 Sqrt[35]}/Sin[(Pi+θ)/6], {θ, 0, 4 Pi}, PlotStyle -> {Green}], Graphics3D[{ Opacity[0.3], Red, Cone[{{0, 0, -10 Sqrt[35]}, {0, 0, 0}}, 10], Opacity[1], Lighter[Yellow], Line[{{0, 0, 0}, {10 Cos[-φ], 10 Sin[-φ], -10 Sqrt[35]}}], Black, PointSize[.03], Point[{5/2, -((5 Sqrt[3])/2), -5 Sqrt[35]}/Sin[Pi/9 + φ/6]] }] }, PlotRange -> {{-10, 10}, {-10, 10}, {-10 Sqrt[35], 0}}, Boxed -> False, Axes -> False, ImageSize -> 300], {φ, Pi/3, 13 Pi/3, Pi/8}] Export["Math66.gif", %, "DisplayDurations" -> Join[{1.4}, Table[0.1, {32}]], AnimationRepetitions -> Infinity] 其實程式碼不長, 不過中間很多東西其實都是先算好才寫死進去的 例如綠線的參數式, 那是我從原題的答案裡先求得在展開圖上那條直線的極座標式 把角度θ放大到 0 ~ 4 Pi (兩圈) 再把它「貼」到圓錐面上來的 (算是一點點題外話: θ跟φ其實都可以用鍵盤快速輸入 主要是用兩個 ESC 的三點包住縮寫可以打出希臘字母及一些運算符號 而且不少字都有不只一種這種打法 像是 [ESC]q[ESC], [ESC]th[ESC], [ESC]theta[ESC] 都可以輸入θ [ESC]f[ESC], [ESC]ph[ESC], [ESC]phi[ESC] 都可以輸入φ 我自己在用時都是打一個字母的這樣比較快 XD 大家常用的 BasicInput 輸入盤上當你指到字時會告訴你這字可以怎麼用這方法輸入) 還有就是這段程式碼裡其實動的不是視角, 而是所有線的位置 (外圈 Table 的參數φ就是類似「相位角」的東西) (所以才叫φ XD) 會這樣寫其實是因為我一直搞不懂 Viewpoint 的計算方式 (炸) 所以既然視角不動我只好讓其它東西轉 XD 也由於視角是預設視角的關係, φ其實不是 0 到 4 Pi 而是平移了 Pi/3 這樣起點才會大致在正前方 (應該不是很正的正前方, 因為可以看到起始時黃線小小歪了一點; 這 Pi/3 的數字也是調整來的, 原本猜是 Pi/4 結果發覺不夠, 0.3 Pi 還是沒能擺正, 於是乾脆試 Pi/3 結果竟然大致擺正了 XD) 圓錐用上 Opacity 一來是較好掌握綠線的長相 二來其實主因是我在畫黑點時因為黑點在圓錐面上, 加上視點的關係 畫出來時黑點一半被圓錐埋住了 XD 原本想要讓黑點跑出來一點, 但不巧因為一個計算錯誤差了負號, 讓黑點埋到不見了 索性不移黑點反過來讓圓錐變透明來解決... 另一個值得一提的點是動態 gif 的輸出, 這是我前一陣子研究 Export 時才發現的 參考的說明是 ref/format/GIF 這一條 http://reference.wolfram.com/mathematica/ref/format/GIF.html 比較重要的是輸出的式子要是一個圖案的 List 這也就是我上面會用 Table 包起來的原因 然後只要指定 "DisplayDurations" 跟 AnimationRepetitions 就會輸出動態 gif 了 -- いああオレたちには見えてるモノがあるbきっと誰にも奪われないモノがあるはずさ開口一番一虚一実跳梁跋扈形影相弔yL羊頭狗肉東奔西走国士無双南柯之夢 歪も ぶ  意味がないと思えるコトがあるPきっとでも意図はそこに必ずある んの く 依依恋恋空前絶後疾風怒濤有無相生H急転直下物情騷然愚者一得相思相愛 だが ろ 無意味じゃない6あの意図 恋た で 有為転変死生有命蒼天已死黄天當立 !!6五里霧中解散宣言千錯万綜則天去私 のり -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.46
ToMoveJizz:高手 02/25 20:54
jurian0101:太不正常了XD 居然是第一篇非回文 03/21 22:20