проект для производственной линии с использованием freeglut Мне нужна помощь в его кодировании 1. Я хочу, чтобы ремень двигался 2. Я хочу, чтобы предметы падали из верхних ящиков - PullRequest
0 голосов
/ 07 мая 2020

нижний прямоугольник - пояс, а второй - ящики. Я хочу, чтобы пояс двигался при нажатии клавиши. Я хочу, чтобы объекты падали из ящиков, представленных выше, при нажатии мыши. Я хочу, чтобы это было в 3D, чтобы мы могли видеть вся модель во всех направлениях, я хочу, чтобы объекты прямоугольник, куб, треугольник падали из ящиков один за другим '' '

#include<stdio.h>
#include<stdlib.h>
#include<GL/glut.h>
void Belt()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.60,0.60,0.60);
    glLineWidth(30);
    glBegin(GL_POLYGON);                                //DISPLAYS A FILL POLYOGON
    glVertex2i(50,90);                                  //SELECTS A COORDINATE POSITION
    glVertex2i(480,90);
    glVertex2i(480,100);
    glVertex2i(50,100);
    glEnd();
    glFlush();
}
void Box()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.60,0.60,0.60);
    glLineWidth(30);
    Belt();                                             //THE FUNCTION OF BELT IS CALLED
    glBegin(GL_POLYGON);                                //DISPLAYS A FILL POLYOGON
    glVertex2i(100,300);                                //SELECTS A COORDINATE POSITION
    glVertex2i(180,300);
    glVertex2i(180,400);
    glVertex2i(100,400);
    glEnd();
    glFlush();
}
void Box1()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.60,0.60,0.60);
    glLineWidth(30);
    Box();                                              //THE FUNCTION OF BOX IS CALLED
    glBegin(GL_POLYGON);                                //DISPLAYS A FILL POLYOGON
    glVertex2i(230,300);                                //SELECTS A COORDINATE POSITION
    glVertex2i(300,300);
    glVertex2i(300,400);
    glVertex2i(230,400);
    glEnd();
    glFlush();
}
void Box2()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.60,0.60,0.60);
    glLineWidth(30);
    Box1();                                             //THE FUNCTION OF BOX1 IS CALLED
    glBegin(GL_POLYGON);                                //DISPLAYS A FILL POLYOGON
    glVertex2i(350,300);                                //SELECTS A COORDINATE POSITION
    glVertex2i(430,300);
    glVertex2i(430,400);
    glVertex2i(350,400);
    glEnd();
    glFlush();
}
void MYINIT()
{
    glClearColor(1.0,1.0,1.0,0.0);                  //CLEARING THE COLOR
    glMatrixMode(GL_PROJECTION);                    //INITILIZATION OF THE MODE
    glLoadIdentity();                               //CALLING THE FUNCTION LOADIDENTITY
    gluOrtho2D(0.0,500.0,0.0,500.0);
    glMatrixMode(GL_MODELVIEW);
}
void Display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    Box2();                                         //THE FUNCTION OF BOX2 IS CALLED
    glFlush();
}
int main(int argc,char **argv)
{
    glutInit(&argc,argv);                               //GLUT INITIALIZATION
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowSize(800,800);                        //INITILIZATION OF THE WINDOWS SIZE
    glutInitWindowPosition(0,0);                        //INITILIZATION OF THE WINDOWS POSITION
    glutCreateWindow("PRODUCTION LINE");                //CREATEING OF THE NEW WINDOW
    MYINIT();                                           //CALIING THE MYINIT FUNCTION
    glutDisplayFunc(Display);                           //CALLING THE DISPLAY FUNCTION
    glEnable(GL_DEPTH_TEST);
    glutMainLoop();
}

' ''

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...