2015-05-22 5 views
2

Я хочу создать график (2-й график) с моим кодом, Как я могу сделать простой 2-й график в opengl? Я новичок в opengl, поэтому, возможно, вы можете объяснить мне, как работает код, пожалуйста. кстати вот мой код:Рисовать график в opengl

#include <iostream> 
using namespace std; 

int main() 
{ 
     double dt = 0.10; //(it is constant) 
     double t = 0.00; 

     double dx = 0.10; //(it is constant) 
     double x = 0.00; 

     double ddy = 1.00; //(it is constant) 
     double dy = 0.00; 
     double y = 1.00; 

     cout<<"t = "<<t<<endl; 
     cout<<"dx = "<<dx<<endl; 
     cout<<"x = "<<x<<endl; 
     cout<<"dy = "<<dy<<endl; 
     cout<<"y = "<<y<<endl; 
     cout<<endl; 

     while(t<=5) 
     { 
        x = x + dx*dt; 
        dy = dy - ddy * dt * dt; 
        y = y + dy * dt; 

        if (y<=-1) 
        { 
          y = -y; 
          dy = -dy * 0.70; 
        } 
     t = t + dt; 

     cout<<"t = "<<t<<endl; 
     cout<<"dx = "<<dx<<endl; 
     cout<<"x = "<<x<<endl; 
     cout<<"dy = "<<dy<<endl; 
     cout<<"y = "<<y<<endl; 
     cout<<endl; 

     } 
     system("pause"); 
} 
+0

Возможный дубликат [Как нарисовать график движущихся функций с OpenGl?] (Http://stackoverflow.com/questions/16502185/how-to-draw-a-moving-function-graph-with-opengl) –

+0

спасибо, извините за последнее время :) –

ответ

5

Может быть, вы должны посмотреть здесь http://en.wikibooks.org/wiki/OpenGL_Programming/Scientific_OpenGL_Tutorial_01

Существует хорошая информация, чтобы начать рисовать кривые. Поскольку у вас есть параметризованным кривую, просто хранить х, у в вершинном буфере объекта (VBO) с размером числа очков, которые вы хотите на вашей кривой и сделать что ВБО так:

glDrawArrays(GL_LINE_STRIP, 0, nbPoints); 

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

Смежные вопросы