[幾何] 請教有關程式碼裡所用的數學式子

看板Math作者 (All in AAPL)時間3年前 (2022/04/03 17:45), 3年前編輯推噓3(3014)
留言17則, 4人參與, 3年前最新討論串1/2 (看更多)
各位大大好 最近在看有關three js裡面的example,看到元素表的例子 https://threejs.org/examples/?q=peri#css3d_periodictable 程式碼在此 https://reurl.cc/l9qDQl 看到有一段關於 元素螺旋平均分佈在球面上 這兩行 line 298,299這兩行讓我看很久 298 const phi = Math.acos( - 1 + ( 2 * i ) / l ); 299 const theta = Math.sqrt( l * Math.PI ) * phi; 298行還可以理解 但299行完全不知道為什麼要 乘上 sqrt(l * pi) // l是元素總數 我查了一下,似乎看起來是Fibonacci sphere,然後也改了程式碼 const phi = Math.acos( - 1 + ( 2 * i ) / l ) const theta = Math.PI*(1.809)*i 結果長這樣 https://i.imgur.com/E1k10nO.png
也有很類似的效果,至於為什麼會是1.809,老實說我也不清楚,我只是測了幾組 黃金比例1.618,0.608,而1.809是常用在股市的黃金比例,如果數字不對,甚至不會平均分佈在球面上 例如調成8變這樣 https://i.imgur.com/bysIHIo.png
而原程式碼sqrt(l * pi)看起來不太像是用湊的權重,如果取代成 theta = XX * phi XX 隨便當作一個常數有時也不會螺旋均勻分布在球體 因為小弟數學真的沒有很好 想問問看板上的大大有沒有人知道原程式碼 line 299行是根據什麼paper或是原理才這樣寫 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.107.51 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1648979143.A.EBD.html ※ 編輯: phoenixlife (59.127.107.51 臺灣), 04/03/2022 17:47:15 ※ 編輯: phoenixlife (59.127.107.51 臺灣), 04/03/2022 17:54:38

04/03 23:22, 3年前 , 1F
你打 const theta = i 看是否有類似效果, 如果也有
04/03 23:22, 1F

04/03 23:22, 3年前 , 2F
的話, 代表他原本的程式碼只是一種把點散佈到圓的一
04/03 23:22, 2F

04/03 23:22, 3年前 , 3F
種方式而已
04/03 23:22, 3F
有耶 有類似一樣的效果 ※ 編輯: phoenixlife (59.127.107.51 臺灣), 04/03/2022 23:27:39

04/03 23:34, 3年前 , 4F
H he li b p c n ...雖然是平均分佈球面 但順序間隔
04/03 23:34, 4F

04/03 23:34, 3年前 , 5F
有點跳
04/03 23:34, 5F

04/03 23:39, 3年前 , 6F
我回你一篇 稍等
04/03 23:39, 6F

04/03 23:40, 3年前 , 7F
主要想知道為什麼他的方式可以這麼的完美 照順序螺
04/03 23:40, 7F

04/03 23:40, 3年前 , 8F
8的長那樣不是正常現象嗎?2,0,-6,4也一樣啊。
04/03 23:40, 8F

04/03 23:40, 3年前 , 9F
旋又可以等距
04/03 23:40, 9F

04/03 23:54, 3年前 , 10F
我覺得用8舉得不好,偶數pi的確都長這樣,但1.089表
04/03 23:54, 10F

04/03 23:55, 3年前 , 11F
現的確是我目前測得最好
04/03 23:55, 11F

04/03 23:55, 3年前 , 12F
更正1.809
04/03 23:55, 12F

04/04 00:20, 3年前 , 13F
乘以sqrt(l * pi)的圖形,原PO可以截圖貼上嗎?第一
04/04 00:20, 13F

04/04 00:20, 3年前 , 14F
個網址是一個平面,看不出是在球上
04/04 00:20, 14F

04/04 00:29, 3年前 , 15F
你點開網址 點下面sphere就是結果
04/04 00:29, 15F

04/04 00:37, 3年前 , 16F
謝謝,我仔細看了一下,感覺並沒有很均勻
04/04 00:37, 16F

04/04 00:37, 3年前 , 17F
現在就是要去解釋為何會想取sqrt(Lpi)phi
04/04 00:37, 17F
文章代碼(AID): #1YIMp7wz (Math)
文章代碼(AID): #1YIMp7wz (Math)