Rotation von Zahlen



  • Hallo,

    Ich möchte eine Scheibe rotieren, auf der am Rande Zahlen
    sind, nur das die Zahlen ihre senkrechte-lesbare Position
    beibehalten sollen. Das gelingt mir zwar schon, indem ich
    die Zahlen vorher auf Ihren Ursprung zurückführe, dann
    entgegengesetzt rotiere und wieder an den Ort auf der Scheibe
    schiebe, aber vielleicht gibt's da eine Einfache Function oder
    Verfahrensweise, die nicht so viel Performance kostet?

    Vielen Dank für's reinschauen.



  • vielleicht noch ein kleines code-posting zum Verständnis:

    ...
    
    glRotatef(0.0f+ROTATE,0.0f,0.0f,1.0f);	// Drehung Scheibe
    
    //... Scheibe zeichnen
    
    GLfloat x_korrect = -0.055f; //Zahlen in der Mitte drehen
    GLfloat y_korrect = -0.036f;
    
    glPushMatrix();
    
    //von der Scheibenposition zum Ursprung u. wieder zurück,
    //Korrektur Eckpunkt Zahlenbitmap zur Mitte
    glTranslatef(-0.053f-x_korrect, 0.581f-y_korrect,0.0f);
    glRotatef(0.0f-ROTATE,0.0f,0.0f,1.0f);
    glTranslatef(0.053f+x_korrect, -0.581f+y_korrect,0.0f);
    //selbstdefinierte Bitmap-Zahlen
    ShowText("00", weiss, 0.9, -0.053f, 0.581f, -0.4); 
    glPopMatrix();
    
    glPushMatrix();
    
    glTranslatef( 0.249f-x_korrect, 0.501f-y_korrect,0.0f);
    glRotatef(0.0f-ROTATE,0.0f,0.0f,1.0f);
    glTranslatef(-0.249f+x_korrect, -0.501f+y_korrect,0.0f);
    ShowText("03", weiss, 0.9, 0.249f, 0.501f, -0.4);
    
    glPopMatrix(); .....//usw.
    
    glLoadIdentity();
    

    Geht's auch einfacher?


  • Mod

    wieso setzt du nicht mit glTranslate einfach nur die position auf der die zahlen sein sollen?



  • Okay, hab verstanden.


Log in to reply