Orbital inclination Problem
Übersicht

Shaggy82Betreff: Orbital inclination Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
habe ein Problem bei einer Berechnung. könnte mir einer bei der Lösung behilflich sein ? mein Problem ich möchte über sin & cos die X/Y/Z Positionen des Planeten um die Sonne bestimmen. Gegeben ist der Abstand zur Sonne, sowie der Yaw & Pitch Winkel in Relation zur Sonne. Es sieht so aus als ob der Planet die erste Teilstrecke von 180 Grad korrekt berechnet. Dann aber einen komischen Sprung macht. Ich bin mir im klaren darüber das man dieses Problem durchaus mit Pivots lösen kann. Benötige aber die Berechnung für ein Server Projekt das ich in Blitz+ aufsetzten möchte. mfg Norbert Code: [AUSKLAPPEN] Graphics3D 640, 480
SetBuffer BackBuffer() Wireframe 1 camera = CreateCamera() PositionEntity camera ,0,0,-10 light = CreateLight(2) RotateEntity light, 90, 0, 0 PositionEntity light, 0, 10, 10 Sonne = CreateSphere(8) PositionEntity Sonne, 0, 0, 0 Planet = CreateSphere(16) Global Planet_Abstand_Sonne# = 5.0 Global pitch# = -45 Global yaw# = 0 Global Orbital_inclination = 1 While Not KeyHit(1) yaw# = yaw# + 0.5 If Orbital_inclination = 1 Then ; Planet Rotation um Stern ist_yaw# = (yaw Mod 360) p_weg# = (ist_yaw * 100.0) / 360.0 winkelWeg# = (2*pitch#) If winkelWeg# < 0 Then winkelWeg# = -1 * winkelWeg# soll_pitch# = -(winkelWeg#/2) + (p_weg# *(winkelWeg#*2))/100 If ist_yaw# > 180.0 Then soll_pitch# = -(winkelWeg#/2) - (p_weg# *(winkelWeg#*2))/100 EndIf EndIf ny#=Sin(soll_pitch# )/Cos(soll_pitch# ) nx#=Sin(yaw) nz#=Cos(yaw) If Abs(soll_pitch# )=90 Then nx=0 ny=Sgn(soll_pitch# ) nz=0 EndIf ; normalize vector factor# =Sqr(nx*nx+ny*ny+nz*nz) nx=nx/Abs(factor) ny=ny/Abs(factor) nz=nz/Abs(factor) PositionEntity Planet,nx*Planet_Abstand_Sonne#,ny*Planet_Abstand_Sonne#,nz*Planet_Abstand_Sonne# RenderWorld Flip Wend End |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kreisrunde bahnen sind zwar wenig realistisch, aber für ellipsoide habe ich keine Formel parat.
Code: [AUSKLAPPEN] X = OrigX + Radius * Cos( Pitch ) * Cos( Yaw )
Y = OrigY + Radius * Sin( Yaw ) Z = OrigZ + Radius * Sin( Pitch ) * Cos( Yaw ) "Orig" = Mittelpunkt |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Shaggy82 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank, Xeres.
Ich werde es heute abend ausprobieren. Nochmals danke und ich wünsche noch einen schönen Tag. mfg norbert |
||
Shaggy82 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Xeres,
wenn ich den Radius auf einer Achse Multipliziere erhalte ich eine Ellipse. Wäre das die Lösung ? mfg Norbert Code: [AUSKLAPPEN] Graphics3D 640, 480
SetBuffer BackBuffer() Wireframe 1 camera = CreateCamera() PositionEntity camera ,0,0,-50 light = CreateLight(2) RotateEntity light, 90, 0, 0 PositionEntity light, 0, 10, 10 Sonne = CreateSphere(8) PositionEntity Sonne, 0, 0, 0 Planet = CreateSphere(16) Global Planet_Abstand_Sonne# = 10.0 Global pitch# =30 Global yaw# = 0 While Not KeyHit(1) yaw# = yaw# + 0.5 Radius = Planet_Abstand_Sonne# X# = OrigX + Radius * Cos( Pitch ) * Cos( Yaw ) Y# = OrigY + (Radius*4.5) * Sin( Yaw ) Z# = OrigZ + Radius * Sin( Pitch ) * Cos( Yaw ) PositionEntity Planet,X# ,z# ,y# RenderWorld Flip Wend End |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn dir das als Lösung genügt, werde ich keine Einspruch erheben.
Bestimmt gibt es ganz tolle Gleichungen um alle Möglichen Drehungen und Translationen zu erlauben - die ich a) aber selber nachschlagen müsste und b) tut man immer gut daran, lieber ein fertig Programm zu haben als gar keins. In diese Sinne: Weitermachen und viel Erfolg. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group