作者karco (karco)
看板Python
标题[问题] 如何画出由内到外的渐层圆球
时间Wed Jan 23 19:12:25 2019
各位大大好
小弟想利用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://webptt.com/cn.aspx?n=bbs/Python/M.1548241948.A.B06.html
1F:推 lajji: 用matplotlib画呢 01/23 20:00
2F:→ lajji: from matplotlib.patches import Circle 01/23 20:00
circle的话 画出来的图案似乎是2D的圆形?
3F:推 clang: matplotlib可以画3D,不过球体要自己算座标用surface画 01/24 00:32
嗯嗯 我会画这样的球
只是遇到的问题是在着色上 似乎只能对表面上色
无法由内到外都有颜色@@
5F:→ papple23g: 照你的说法 如果球不切开又不透明的话 外表看起来不就 01/24 01:15
6F:→ papple23g: 是单色了吗?你打算怎麽表现内外渐层? 01/24 01:15
因为这样的球会有很多颗 所以应该可以看出彼此叠加的影响
想做的事情有点像是画出原子的立场
藉由颜色来表示该点所受能量的大小
所以我想应该也是会有点透明度的
※ 编辑: karco (140.113.121.150), 01/24/2019 01:24:05
7F:推 keepxha: 中心为0 R=range(1,10,1) 都画一颗球,透明度最内层0到 01/24 15:53
8F:→ keepxha: 最外层90%渐变 01/24 15:53
10F:→ keepxha: for 回圈自己改成你的能量分部 01/24 16:35
感谢大大 有点头绪了
我会用您的建议尝试看看 十分感谢!
13F:→ keepxha: 大概这样吧,希望有帮到 01/24 17:03
嗯嗯 目前的想法是先将能量转化成对应的颜色後 存成list
然後将离球心距离也是存成list
再利用大大提供的方法画球 应该就能成功了
真的十分感谢您的帮忙!
※ 编辑: karco (140.113.121.150), 01/24/2019 17:42:16