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;
         }
    

  • Mod

    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???


  • Mod

    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/corner

    versuch 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,
    BassPlace

    Edit: 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. 🤡 👍

    😉


Anmelden zum Antworten