[問題] 如何畫出由內到外的漸層圓球

看板Python作者 (karco)時間6年前 (2019/01/23 19:12), 6年前編輯推噓6(607)
留言13則, 4人參與, 6年前最新討論串1/1
各位大大好 小弟想利用python的程式碼畫出圓球 然而我想畫的是由內到外顏色變化漸層的圓球 然而網路上畫圓球範例所使用的colormap似乎都是作用於表面 而非從內到外 使用vpython的話 也只能設定單色 而顏色的值是根據離球心位置時對應的參數而定的 例如: 離球心距離 : 0 0.5 1 1.5 2.0 2.5(球體半徑) 參數 : 0 1000 200 2 0.5 0 那就是將0-1000做出一張colormap 然後根據參數的值 在對應的位置上進行上色 目前有想到兩種做法 第一個是做出一條符合此顏色漸層的直線 然後旋轉掃出一個球 不知道python能不能這樣做? 第二個是我在每個位置都畫出一顆球 例如在距離0.5的位置畫一顆球塗上藍色 在距離1的位置畫一顆球著上黃色 只是這樣子的做法感覺很沒有效率? 請問還有其他方式解決此問題嗎? 謝謝python版的各位大大 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.55.26 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1548241948.A.B06.html

01/23 20:00, 6年前 , 1F
用matplotlib畫呢
01/23 20:00, 1F

01/23 20:00, 6年前 , 2F
from matplotlib.patches import Circle
01/23 20:00, 2F
circle的話 畫出來的圖案似乎是2D的圓形?

01/24 00:32, 6年前 , 3F
matplotlib可以畫3D,不過球體要自己算座標用surface畫
01/24 00:32, 3F

01/24 00:32, 6年前 , 4F
01/24 00:32, 4F
嗯嗯 我會畫這樣的球 只是遇到的問題是在著色上 似乎只能對表面上色 無法由內到外都有顏色@@

01/24 01:15, 6年前 , 5F
照你的說法 如果球不切開又不透明的話 外表看起來不就
01/24 01:15, 5F

01/24 01:15, 6年前 , 6F
是單色了嗎?你打算怎麼表現內外漸層?
01/24 01:15, 6F
因為這樣的球會有很多顆 所以應該可以看出彼此疊加的影響 想做的事情有點像是畫出原子的立場 藉由顏色來表示該點所受能量的大小 所以我想應該也是會有點透明度的 ※ 編輯: karco (140.113.121.150), 01/24/2019 01:24:05

01/24 15:53, 6年前 , 7F
中心為0 R=range(1,10,1) 都畫一顆球,透明度最內層0到
01/24 15:53, 7F

01/24 15:53, 6年前 , 8F
最外層90%漸變
01/24 15:53, 8F

01/24 16:34, 6年前 , 9F
01/24 16:34, 9F

01/24 16:35, 6年前 , 10F
for 迴圈自己改成你的能量分部
01/24 16:35, 10F

01/24 16:40, 6年前 , 11F
感謝大大 有點頭緒了 我會用您的建議嘗試看看 十分感謝!

01/24 17:03, 6年前 , 12F
01/24 17:03, 12F

01/24 17:03, 6年前 , 13F
大概這樣吧,希望有幫到
01/24 17:03, 13F
嗯嗯 目前的想法是先將能量轉化成對應的顏色後 存成list 然後將離球心距離也是存成list 再利用大大提供的方法畫球 應該就能成功了 真的十分感謝您的幫忙! ※ 編輯: karco (140.113.121.150), 01/24/2019 17:42:16
文章代碼(AID): #1SI4mSi6 (Python)
文章代碼(AID): #1SI4mSi6 (Python)