From 891194ed2e55e243dcc4289c46711bf890f5e5e0 Mon Sep 17 00:00:00 2001 From: tosh Date: Wed, 27 Mar 2013 17:05:23 +0100 Subject: [PATCH] adds meridians with color gradient and an equator --- interface/resources/gen_stars.py | 36 +++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/interface/resources/gen_stars.py b/interface/resources/gen_stars.py index ea8ec92526..b81f54541d 100644 --- a/interface/resources/gen_stars.py +++ b/interface/resources/gen_stars.py @@ -12,16 +12,38 @@ from random import random,randint from math import sqrt, hypot, atan2, pi, fmod, degrees from sys import argv,stderr +hemisphere_only, equator, meridians= False, 1000, 1000 -n = 10 +n_random = 100000 if len(argv) > 1: - n = int(argv[1]) - -hemisphere=False + n_random = int(argv[1]) bars_total, bars_prev = 77, 0 -for i in range(n): +def meridian(azimuth,n,(r0,g0,b0),(r1,g1,b1)): + alts = 180.0/n + for alti in range(n): + # color + altj = n-alti-1 + r = (r0 *altj+alti* r1)/n + g = (g0 *altj+alti* g1)/n + b = (b0 *altj+alti* b1)/n + # position + altitude = alts*alti + print "%f %f #%02x%02x%02x" % (azimuth,altitude,r,g,b) + print "%f %f #%02x%02x%02x" % (azimuth,-altitude,r,g,b) + +if meridians: + meridian(.2,meridians,(255,255,255), (180, 60,255)) # N->S + meridian(90,meridians,( 80,255, 80), (255,240, 40)) # E->W + +if equator: + azis = 360.0/equator + for azii in range(equator): + azimuth = azis*azii + print "%f %f #%02x%02x%02x" % (azimuth,0,255,255,255) + +for i in range(n_random): # color w = randint(30,randint(40,255)) r = max(0,min(255,w + randint(-10,70))) @@ -29,7 +51,7 @@ for i in range(n): b = max(0,min(255,w + randint(-10,100))) # position x,y,z = random()*2-1,random(),random()*2-1 - if not hemisphere: + if not hemisphere_only: y = y*2-1 l = sqrt(x*x + y*y + z*z) x /= l; y /= l; z /= l @@ -38,7 +60,7 @@ for i in range(n): azimuth = degrees(fmod(atan2(x,z)+pi,2*pi)) altitude = degrees(atan2(y,xz)) - bars = round(bars_total*i/n) + bars = round(bars_total*i/n_random) if bars != bars_prev: bars_prev = bars bars = int(bars)