mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-05-21 00:53:30 +02:00
50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
#
|
|
# gen_stars.py
|
|
# interface
|
|
#
|
|
# Created by Tobias Schwinger on 3/22/13.
|
|
# Copyright (c) 2013 High Fidelity, Inc. All rights reserved.
|
|
#
|
|
|
|
# Input file generator for the starfield.
|
|
|
|
from random import random,randint
|
|
from math import sqrt, hypot, atan2, pi, fmod, degrees
|
|
from sys import argv,stderr
|
|
|
|
|
|
n = 10
|
|
if len(argv) > 1:
|
|
n = int(argv[1])
|
|
|
|
hemisphere=False
|
|
|
|
bars_total, bars_prev = 77, 0
|
|
|
|
for i in range(n):
|
|
# color
|
|
w = randint(30,randint(40,255))
|
|
r = max(0,min(255,w + randint(-10,70)))
|
|
g = max(0,min(255,w + randint(-20,60)))
|
|
b = max(0,min(255,w + randint(-10,100)))
|
|
# position
|
|
x,y,z = random()*2-1,random(),random()*2-1
|
|
if not hemisphere:
|
|
y = y*2-1
|
|
l = sqrt(x*x + y*y + z*z)
|
|
x /= l; y /= l; z /= l
|
|
xz = hypot(x,z)
|
|
|
|
azimuth = degrees(fmod(atan2(x,z)+pi,2*pi))
|
|
altitude = degrees(atan2(y,xz))
|
|
|
|
bars = round(bars_total*i/n)
|
|
if bars != bars_prev:
|
|
bars_prev = bars
|
|
bars = int(bars)
|
|
stderr.write('\r[%s%s]' % ('#' * bars, '-' * (bars_total-bars)))
|
|
|
|
print "%f %f #%02x%02x%02x" % (azimuth,altitude,r,g,b)
|
|
|
|
stderr.write('\r[%s]\n' % ('#' * bars_total,))
|
|
|