ich weiss nicht ob du damit was anfangen kannst, poste es aber trotzdem.NicTheQuick hat geschrieben:Kleines weiteres Beispiel mit dem Spiegeln einer Linie an einer imaginären Kugel. Imaginär deswegen, weil ich nicht weiß, wie ich mit OpenGL so leicht eine Kugel darstellen kann.![]()
der folgende code ist ein 3D sample aus GLBasic, und die sprache nutzt OpenGL als api.
ich weiss ebenfalls nicht ob die X_anweisungen OpenGL oder GLBasic sind.
die mathematik sollte aber nachvollziehbar sein...
Code: Alles auswählen
// ------------------------------------------------------------- //
// -=# SPHERE #=-
// ------------------------------------------------------------- //
FUNCTION CreateSphere: num, r, n, col
LOCAL i,j, theta1, theta2, theta3, pi
pi = ACOS(0)*2
IF r < 0 THEN r = -r
IF n < 3 THEN n = 3
X_OBJSTART num
FOR j=0 TO n/2-1
theta1 = j * 2*pi / n - pi/2;
theta2 = (j + 1) * 2*pi / n - pi/2;
FOR i=0 TO n
theta3 = i * 2*pi / n;
X_OBJADDVERTEX r*COS(theta2) * COS(theta3), r*SIN(theta2), _
r*COS(theta2) * SIN(theta3), i/n, 2*(j+1)/n, col
X_OBJADDVERTEX r*COS(theta1) * COS(theta3), r*SIN(theta1), _
r*COS(theta1) * SIN(theta3), i/n, 2*j/n, col
NEXT
X_OBJNEWGROUP
NEXT
X_OBJEND
ENDFUNCTION // n