1. 程式人生 > 其它 >C語言黑科技:阿基米德螺旋線!新奇,趣味,高階~

C語言黑科技:阿基米德螺旋線!新奇,趣味,高階~

程式簡介

最初是想用阿基米德螺旋線實現視覺化 π,於是學習了泰勒展開計算 π 的過程,同理舉一反三實現了計算 e的過程,學習了畫阿基米德螺旋線。後來又實現了一種“走路的直線”,來視覺化有理數。本程式糅合了所有功能,實現用螺旋線和行走線,來視覺化無理數 π,無理數 e和有理數。

計算 π,計算 e的過程,用到了泰勒展開。不知道是否是巧合,π 的前兩項和,與 e的前四項和都是 2.666 ...。並且巧合的是這兩個無理數泰勒展開的每一項其實都“包含”了上一項。π 中的第 i項即是上一項乘 i/( 2 i+1),e 中的第 i項即是上一項乘 1/i,這樣的構造使計算簡單了許多;也好像給了我創造新無理數的方法,比如每一項都是上一項乘 1/( 2 i),雖然這個不一定有實際意義,我也不能證明是無理數,但挺有意思的^-^。

要深刻理解參考資料裡的先乘,從低到高;後除,從高到低,取餘乘十加到後一位,留商;最後加,從低到高,超十進位。我把取餘,留商弄反了,搞了我好一會。

π 的七百多位會出現 6個連續的 9,圖片也是展示出來了。

構造阿基米德螺旋線的過程,也有變化,因為我不要單純的線,我是要在線上串圓,所以我是在軌跡上畫圓,圓的數量也有限制(本程式初始 1000,這個可以程序序改)。所以若只想單獨測試阿基米德螺旋線的性質時,需要單獨分離出繪製螺旋線函式,將畫圓的過程改為畫線,或者把小圓半徑(d)改小,近似劃線;再更改迴圈條件即可。

會走路的數字,根據參考資料展示所編。視訊中說的規則模稜兩可,我根據視訊反推規律,根據規律可以還原他視訊中的影象。但根據規律,他在視訊中所寫的有理數都可以形成中心對稱圖形這個說法應該有誤。

在編寫中有一個小發現,我沒有深究,就是分母為某些質數時,迴圈節的長度是這些質數減一,即達到了這個數能取得的最大迴圈節長度。首先這個規律應該跟分子沒關係,再就是這個規律不是所有質數都成立,這就區分出至少兩類質數,或者說至少兩類數。

調色盤本來也是一個獨立的程式,這是一個以前方便我找顏色的工具吧。現在老師給了一個完美替代的工具,就讓他在本程式發揮餘熱吧。這個調色盤也用了我最喜歡的三維引數構造六邊形兩維座標的方式,以後還會有程式運用這個方式的。

程式執行效果


原始碼稍微有點長我就不放上來了,感興趣的小夥伴可以進群自行下載~

- End -

————————————————

不管你是轉行也好,初學也罷,進階也可,如果你想學程式設計~

【值得關注】我的程式設計學習交流俱樂部【點選進入】

————————————————