Skocz do zawartości

bazer

Użytkownicy
  • Zawartość

    1
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralny

O bazer

  • Ranga
    Nowy na forum
  1. bazer

    Wahadło

    Witam jestem początkującym programistą i mam problem, otórz napisałem w Visual Studio program wahadła a dokładnie jego model i chce je teraz wprowadzić w ruch żeby poruszało się na boki jak wahadło zegara. Próbowałem z alfa+delta_ alfa ale mi to nie wychodzi czy ktoś może mi pomóc. Podspodem zamieszczam kod żródłowy. #include <windows.h> #include "glut.h" void prostopadloscian() { glBegin(GL_QUADS); glColor3f(0.0, 0.0, 0.0); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 0.0, 1.0, 0.0); glVertex3f( 0.0, 1.0, 1.0); glVertex3f( 0.0, 0.0, 1.0); glColor3f(1.0, 1.0, 0.0); glVertex3f( 1.0, 0.0, 1.0); glVertex3f( 1.0, 0.0, 0.0); glVertex3f( 1.0, 1.0, 0.0); glVertex3f( 1.0, 1.0, 1.0); glColor3f(1.0, 0.0, 0.0); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 1.0, 0.0, 0.0); glVertex3f( 1.0, 1.0, 0.0); glVertex3f( 0.0, 1.0, 0.0); glColor3f(0.0, 0.0, 0.0); glVertex3f( 0.0, 0.0, 1.0); glVertex3f( 1.0, 0.0, 1.0); glVertex3f( 1.0, 1.0, 1.0); glVertex3f( 0.0, 1.0, 1.0); glColor3f(1.0, 1.0, 0.0); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 0.0, 0.0, 1.0); glVertex3f( 1.0, 0.0, 1.0); glVertex3f( 1.0, 0.0, 0.0); glColor3f(0.0, 0.0, 0.0); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 0.0, 1.0, 1.0); glVertex3f( 1.0, 1.0, 1.0); glVertex3f( 1.0, 1.0, 0.0); glEnd(); } void uchwyt() { glPushMatrix(); glTranslatef(0.3, 2.0, 0.65); glScalef(0.3, 2.0, 0.2); prostopadloscian(); glPopMatrix(); } void przdłużenie() { glPushMatrix(); glTranslatef(0.1, 0.0, 0.0); uchwyt(); glPopMatrix(); glPushMatrix(); glTranslatef(-0.9, 2.0, 0.3); glScalef(2.5, -1.0, 0.9); prostopadloscian(); glPopMatrix(); glPushMatrix(); glTranslatef(-0.2, 4.0, 0.6); glScalef(1.8, 0.2, 0.2); prostopadloscian(); glPopMatrix(); } void wahadło() { glPushMatrix(); glTranslatef(-1.0, 2.0, 4.2); glRotatef(-45.0, 0.0, 1.0, 0.0); glTranslatef(-0.95, 0.0, -0.95); przdłużenie(); glPopMatrix(); } void start() { glClearColor(1.0,1.0,1.0,1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(50.0, 1.0, 0.1, 30.0); gluLookAt(10.0, 10.0, 12.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); wahadło(); glFlush(); } void main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowSize(800,600); glutInitWindowPosition(100,100); glutCreateWindow("Wahadło"); glutDisplayFunc(start); glutMainLoop(); }
×