Hej!
w 3d star-field nie ma żadnego zaawansowanego algorytmu, w wielkim skrócie jest tak:
1) każda gwiazdka ma wsp. x,y,z (losujesz je sobie na początku)
2) zmieniasz tylko współrzędną Z w zależności od równania projekcji 3d, (w poniższym wypadku z=z-prędkość_gwiazdek)
3) gdy "Z" dojdzie do granicy -> patrz na dzielenie przez (z+d) to gwiazdkę uznajesz za "skończoną", losujesz nową (X,Y,Z) gdzieś z tyłu ekranu (x,y dowolnie a "z" dodatnie)
Przykładowe równianie projekcji (oś z skierowana w głąb ekranu) to:
Xe = x * z / ( z + d )
Ye = y * z / ( z + d )
gdzie:
Xe,Ye - współrzędna pozioma na płaskim ekranie
x - współrzędna X gwiazdki
y - współrzędna Y gwiazdki
z - współrzędna Z gwiazdki
d - odległość obserwatora od ekranu (tzw. wsp. perspektywy)
jeżeli chcesz dodać obroty to musisz to zrobić przed zastosowaniem równania projekcji ;-) i tyle :)