Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> движение шарика по каналу, нужна помощь 
:(
    Опции темы
ammhitman
Дата 18.4.2012, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.4.2012

Репутация: нет
Всего: нет



помогите пожалуйста
есть решенная задача физически,
user posted image

я сделал чтобы каркас вращался,но я не понимаю,.как и что сделать,,чтобы этот шарик катался по желобу.

Код

void rigidBody()
{
    //Рисуем стержень
    glPushMatrix();
        glTranslated(0, 0, -12);
        glLineWidth(9);
        glBegin(GL_LINES);        
            glVertex3f(0, 0, 0);
            glVertex3f(0, 5, 0);
        glEnd();
    glPopMatrix();

    //Рисуем нижнюю грань
    glPushMatrix();
        glTranslated(0, 0, -12);
        glLineWidth(9);
        glBegin(GL_LINES);        
            glVertex3f(0, 1, 0);
            glVertex3f(deltaXa(), 1, deltaYa());
        glEnd();
    glPopMatrix();

    //Рисуем верхнюю грань
    glPushMatrix();
        glTranslated(0, 0, -12);
        glLineWidth(9);
        glBegin(GL_LINES);        
            glVertex3f(0, 4, 0);
            glVertex3f(2*deltaXa(), 4, 2*deltaYa());
        glEnd();
    glPopMatrix();

    //Рисуем желоб
    glPushMatrix();
        glTranslated(0, 0, -12);
        glLineWidth(9);
        glBegin(GL_LINES);        
            glVertex3f(2*deltaXa(), 4, 2*deltaYa());
            glVertex3f(1.5*deltaXa(), 2.5, 1.5*deltaYa());
        glEnd();
    glPopMatrix();


    //Рисуем желоб
    glPushMatrix();
        glTranslated(0, 0, -12);
        glLineWidth(9);
        glBegin(GL_LINES);        
            glVertex3f(1.5*deltaXa(), 2.5, 1.5*deltaYa());
            glVertex3f(deltaXa(), 1, deltaYa());
        glEnd();
    glPopMatrix();


    //Рисуем соединительную точку1
    glPushMatrix();
        glTranslated(0, 0, -12);    
        glTranslated(2*deltaXa(), 4, 2*deltaYa());
        glutSolidSphere(0.1, 15, 15);
    glPopMatrix();

    //Рисуем соединительную точку2(нижняя)
    glPushMatrix();
        glTranslated(0, 0, -12);    
        glTranslated(deltaXa(), 1, deltaYa());
        glutSolidSphere(0.1, 3, 3);
    glPopMatrix();

    //Рисуем соединительную точку3(средняя)
    glPushMatrix();
        glTranslated(0, 0, -12);    
        glTranslated(1.5*deltaXa(), 2.5, 1.5*deltaYa());
        glutSolidSphere(0.1, 15, 15);
    glPopMatrix();


    
}


надеюсь кто-нить поможет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0740 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.