2016-01-26 6 views
0

Я делаю астрономическую визуализацию, которая иллюстрирует рождение планеты из облака частиц (у меня более 130 000). Каждая частица, кроме xyz-координаты, также имеет значение температуры.Цветовая шкала для иллюстрации температуры, сценарий Python

Можно ли закодировать его, как минимум температуры зеленый, максимальный уровень температуры пурпурный. Дорогой сценарий, цвет моих частиц в масштабе между зеленым и пурпурным?

Я работаю с Python (Blender).

Заранее благодарю за помощь!

ответ

0

Не знакомы с 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 

Там, вероятно, более сложные решения, но мы надеемся, что получите вы начали.

+0

FYI: Это будет только распространяться цвет Varia в пределах диапазона, не связывать какой-либо переходный цвет с определенной температурой. – zebralove79

0

Должен ли я сказать до t min (32.668837340451788) зеленый, t max (129.20671163699313) - пурпурный? Так что скрипт знает, это значение «холодное» или «теплое». Первая частица, например, будет почти пурпурной.

Здесь 4 первые частицы:

  1. 5.28964162682e + 14 5.62257206698e + 13 + 14 -2.9525300544e 128,332184907
  2. 5.23680422449e + 14 + 13 9.33982452199e -2.9525300544e + 14 +128,336966138 3 +5,15787732694 е + 14 1.3010546441e + 14 -2.9525300544e + 14 128,346633243
  3. 5.05325414399e + 14 1.66164504722e + 14 -2.9525300544e + 14 128,355079501 ​​