vieleck noch mal!!
-
hi liebes forum zweiter versuch sorry!!
ich habe hier folgenden code!! ich möchte mit dieser forschleife punkte auf x-z achsen erzeugen um mir daraus einen Körper zu erzeugen ! ein n-eck per metoden aufruf werden die anzahl der punkte und der radius festgelegt!!
leider errechnen mir die sin und cos funktion totalen quatsch!!(wenn ich die werte vorgebe dann klappt es)!!for(GLint i=0; i<=myCorner;i++) { ////X und Z Position der Punkte werden berechnet fX=(GLfloat)(myRadius*cos(fAktuell)); fZ=(GLfloat)(myRadius*sin(fAktuell)); /** Funktion setzt Werte in einen Vector !!hierran liegt es nicht */ punktNum=setInList(punktNum,fX,fZ); //winkel wird hochgezählt z.B 6-Eck immer um 60 fAktuell+=fAngle; }
-
was ist
fAktuell = ? //beim start, 0? fAngle = ? //
müßte man ja wissen, vielleicht rechnest du ja im falschen zahlensystem... du weißt ja dass ein kreiss 2PI ist, oder?
rapso->greets();
-
also sie variaben sind bei 6 punkten:
GLdouble fAktuell=0.0; //z.B. GLint corner=6; GLdouble fAngle=360/corner;
wie zahlensystem!! wie 2PI???
-
wenn du ne ganze schwingung ausrechnen möchtest, fängst du bei 0 an und gehst bis 2*PI
also nicht 360.f/corner
sondern 2.f*3.14159f/cornerversuch ma
rapso->greets();
-
Versuch mal statt "sin(fAktuell)" ein "sin(2 * M_PI * fAktuell / 360)" zu nehmen. Erst damit bekommst du für Gradangaben die gewohnten Rückgabewerte, da sin() - wie rapso schon gesagt hat - ein anderes Zahlensystem verwendet.
Cheers,
BassPlaceEdit: oh, rapso hatte den gleichen Code ja schon im letzten Post hingeschrieben, nur ohne M_PI (welches nicht ANSI ist, aber trotzdem von vielen Compilern anerkannt wird) :/.
-
Der korrekte Ausdruck ist nicht "Zahlensystem" sondern "Einheit".
-
TGGC schrieb:
Der korrekte Ausdruck ist nicht "Zahlensystem" sondern "Einheit".
Stimmt auch nicht ganz, denke ich.
"Grad" ist eine Einheit, klar.
Aber 2 * PI o.ä. Krams im Bogenmaß hat keine Einheit...
-
Das liegt daran, das ein Winkel im Bogenmaß eine Größe der Dimension 1 ist. Er ergibt sich bei der Division zweier Längen ( Bogenlänge / Radius ), wobei sich die Einheiten wegkürzen (ähnlich wie z.b. bei Effizienzkoeffizienten). Zur Unterscheidung wird jedoch oft die Einheit Radiant (rad) benutzt.
-
TGGC schrieb:
Das liegt daran, das ein Winkel im Bogenmaß eine Größe der Dimension 1 ist. Er ergibt sich bei der Division zweier Längen ( Bogenlänge / Radius ), wobei sich die Einheiten wegkürzen (ähnlich wie z.b. bei Effizienzkoeffizienten). Zur Unterscheidung wird jedoch oft die Einheit Radiant (rad) benutzt.
Korrekt.