Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- http://www.cyberforum.ru/cpp-beginners/thread361931.html#post2045821
- http://prog-cpp.ru/sin_x/
- http://ci-plus-plus-snachala.ru/?p=68
- #define _USE_MATH_DEFINES
- #include <math.h>
- #include <GL/glut.h>
- #include <iostream>
- using namespace std;
- float* X;
- float* Y;
- void osi (){
- glClear (GL_COLOR_BUFFER_BIT); //очистим цвета в glClearColor
- glBegin (GL_LINES);
- glColor3f (0.0,0.0,0.0);
- /*Ось Х*/
- glVertex2i(-550,0);
- glVertex2i(550,0);
- /*ось Y*/
- glVertex2i(0,-550);
- glVertex2i(0,550);
- glEnd();
- //сам график
- glLineWidth(2);//толщина
- glBegin (GL_LINE_STRIP);//конец предыдущей линии является началом следующей, для непрерывности нашего графика
- glColor3f (0.4,0.7,0.7);
- for (float i = -500; i <=500; i++){ //if i=90, to sin(i*Pi/180) = 1 ((sin(pi/2))
- float y = 100 * sin (i*(M_PI) / 180);// максимальная высота нашей синусоиды - 100
- glVertex2f (i,y);
- }
- glEnd ();
- glFlush(); //начинает выполнять буфферизированные команды
- }
- int main (int argc,char **argv){
- glutInit (&argc,argv); //инициализирует библиотеку GLUT, обрабатывает параметры командной строки
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); //режим отображения для окон //двойная буфферизация, RGB цвета
- glutInitWindowSize (600,400); //размер окна
- glutCreateWindow ("GRAPHICS"); //создание окна с именем //окно не отображается до входа в mainloop
- glClearColor (1.0,1.0,1.0,1.0); //цвет фона очистки окна
- glOrtho (-600.0,600.0,-400.0,400.0,-1.0,1.0); //
- glutDisplayFunc (osi); //функция перерисовки
- glutMainLoop (); //цикл обработки
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement