Ограничения:
- Я не могу изменить рамки
- Мне нужно использовать функции в программе (мой любимый учитель не любитиспользуя функции, данные кем-либо, кроме нее)
Вот код, и он работает именно так (просто не так гладко, как хотелось бы)
#include<OpenGL/gl.h>
#include<OpenGL/glu.h>
#include<GLUT/glut.h>
#include <stdlib.h>
#include <math.h>
int lb=-30, ub=30;
double cpoints=9999999;
void init (void)
{
glClearColor(1,1,1,1);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-30,30,-30,30);
}
void graphfunct2D(void)
{
double dx, xi, yi;
dx = (ub-lb)*1.0/cpoints;
glColor3f(0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
xi = lb;
yi = xi*sin(xi);
int i;
for (i=0; i<=cpoints;i++)
{
glBegin(GL_POINTS);
glVertex2i(xi,yi);
glEnd();
xi = xi+dx;
yi = xi*sin(xi);
}
glFlush();
}
int main (int argc, char** argv)
{
glutInit(&argc, argv);
/*printf("lower bound: ");
scanf(" %d",&lb);
printf("upper bound:");
scanf(" %d",&ub);
printf("Give me the number of points to plot (int)");
scanf(" %d",&cpoints);*/
glutInitWindowSize(500,500);
glutCreateWindow("Graph function in 2D");
init();
glutDisplayFunc(graphfunct2D);
glutMainLoop();
}
Iхочу, чтобы пользователь мог указать верхнюю и нижнюю границы и построить график функции на основе этих двух, но когда я запускаю программу с незакомментированными входами, она ничего не отображает (когда я не запрашиваю их и использую те, которые я определила, они запускаютсяпросто отлично)