看板 Python 關於我們 聯絡資訊
各位大大好 小弟想利用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
lajji: 用matplotlib畫呢 01/23 20:00
lajji: from matplotlib.patches import Circle 01/23 20:00
circle的話 畫出來的圖案似乎是2D的圓形?
clang: matplotlib可以畫3D,不過球體要自己算座標用surface畫 01/24 00:32
clang: 參考 https://reurl.cc/852lX 01/24 00:32
嗯嗯 我會畫這樣的球 只是遇到的問題是在著色上 似乎只能對表面上色 無法由內到外都有顏色@@
papple23g: 照你的說法 如果球不切開又不透明的話 外表看起來不就 01/24 01:15
papple23g: 是單色了嗎?你打算怎麼表現內外漸層? 01/24 01:15
因為這樣的球會有很多顆 所以應該可以看出彼此疊加的影響 想做的事情有點像是畫出原子的立場 藉由顏色來表示該點所受能量的大小 所以我想應該也是會有點透明度的 ※ 編輯: karco (140.113.121.150), 01/24/2019 01:24:05
keepxha: 中心為0 R=range(1,10,1) 都畫一顆球,透明度最內層0到 01/24 15:53
keepxha: 最外層90%漸變 01/24 15:53
keepxha: https://goo.gl/TzpzY9 01/24 16:34
keepxha: for 迴圈自己改成你的能量分部 01/24 16:35
keepxha: https://imgur.com/gallery/rIWxBfh 01/24 16:40
感謝大大 有點頭緒了 我會用您的建議嘗試看看 十分感謝!
keepxha: https://goo.gl/54j5d6 01/24 17:03
keepxha: 大概這樣吧,希望有幫到 01/24 17:03
嗯嗯 目前的想法是先將能量轉化成對應的顏色後 存成list 然後將離球心距離也是存成list 再利用大大提供的方法畫球 應該就能成功了 真的十分感謝您的幫忙! ※ 編輯: karco (140.113.121.150), 01/24/2019 17:42:16