用于说明温度的色标,Python脚本

时间:2016-01-26 22:02:27

标签: python colors scale blender particles

我制作了一个天文可视化,它说明了一颗行星从一团颗粒中诞生(我有超过130.000)。除了xyz坐标之外,每个粒子还具有温度值。

是否可以将其编码为温度最小值为绿色,温度最大值为品红色。亲爱的剧本,在绿色和洋红色之间调整我的粒子颜色?

我正在使用Python(Blender)。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

不熟悉Blender,但假设您可以指定RGB值,此循环将从绿色渐变为洋红色:

counter = 130000        # number of particles in your cloud
change = 256 / counter  # in-/de-crement for each particle

rgb = [0, 255, 0]       # starting colour (green)

for i in range(0, counter):
    rgb = [rgb[0] + change, rgb[1] - change, rgb[2] + change]
    print("i: %04d; R: %03d, G: %03d, B: %03d" % (i, rgb[0], rgb[1], rgb[2])) # for debugging only, floats to integers for legibility 

可能有更复杂的解决方案,但希望这会让你开始。

答案 1 :(得分:0)

我应该说在t min之前(32.668837340451788)是绿色,t max(129.20671163699313)是洋红色吗?所以脚本知道,值是“冷”还是“暖”。 例如,第一个粒子几乎是洋红色的。

以下是4个第一粒子:

  1. 5.28964162682e + 14 5.62257206698e + 13 -2.9525300544e + 14 128.332184907
  2. 5.23680422449e + 14 9.33982452199e + 13 -2.9525300544e + 14 128.336966138 3 5.15787732694e + 14 1.3010546441e + 14 -2.9525300544e + 14 128.346633243
  3. 5.05325414399e + 14 1.66164504722e + 14 -2.9525300544e + 14 128.355079501