
我用OPENGL画了个圆,请问如何用xy轴定义坐标呢代码如下 15
大神救我!,一下是圆的代码#include<windows.h>#include<gl/glut.h>#include<gl/glext.h>#include<time....
大神救我!,
一下是圆的代码
#include <windows.h>
#include <gl/glut.h>
#include <gl/glext.h>
#include <time.h>
#include<math.h>
const int n = 1000;
const GLfloat R = 0.5f;
const GLfloat Pi = 3.1415926536f;
void DrawCircle()
{
int i;
glBegin(GL_LINE_LOOP);
for(i=0; i<n; ++i)
glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i));
glEnd();
glFlush();
}
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
DrawCircle();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("Draw a circle");
glutDisplayFunc(myDisplay);
glutMainLoop();
return 0;
} 展开
一下是圆的代码
#include <windows.h>
#include <gl/glut.h>
#include <gl/glext.h>
#include <time.h>
#include<math.h>
const int n = 1000;
const GLfloat R = 0.5f;
const GLfloat Pi = 3.1415926536f;
void DrawCircle()
{
int i;
glBegin(GL_LINE_LOOP);
for(i=0; i<n; ++i)
glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i));
glEnd();
glFlush();
}
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
DrawCircle();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("Draw a circle");
glutDisplayFunc(myDisplay);
glutMainLoop();
return 0;
} 展开
1个回答
展开全部
#include <windows.h>
#include <glut.h>
#include <glext.h>
#include <time.h>
#include<math.h>
const int n = 1000;
const GLfloat R = 0.5f;
const GLfloat Pi = 3.1415926536f;
void DrawCircle()
{
int i;
glBegin(GL_LINE_LOOP);
for(i=0; i<n; ++i)
glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i));
glEnd();
glBegin(GL_LINES);
glColor3f(1, 0, 0);
glVertex3f(0, 0, 0);
glVertex3f(1.2*R, 0, 0);
glColor3f(0, 1, 0);
glVertex3f(0, 0, 0);
glVertex3f(0, 1.2*R, 0);
glEnd();
glFlush();
}
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
DrawCircle();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("Draw a circle");
glutDisplayFunc(myDisplay);
glutMainLoop();
return 0;
}
楼主你试试这个代码,是你想要的吗?红色为X轴,绿色为Y轴。
#include <glut.h>
#include <glext.h>
#include <time.h>
#include<math.h>
const int n = 1000;
const GLfloat R = 0.5f;
const GLfloat Pi = 3.1415926536f;
void DrawCircle()
{
int i;
glBegin(GL_LINE_LOOP);
for(i=0; i<n; ++i)
glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i));
glEnd();
glBegin(GL_LINES);
glColor3f(1, 0, 0);
glVertex3f(0, 0, 0);
glVertex3f(1.2*R, 0, 0);
glColor3f(0, 1, 0);
glVertex3f(0, 0, 0);
glVertex3f(0, 1.2*R, 0);
glEnd();
glFlush();
}
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
DrawCircle();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("Draw a circle");
glutDisplayFunc(myDisplay);
glutMainLoop();
return 0;
}
楼主你试试这个代码,是你想要的吗?红色为X轴,绿色为Y轴。

2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询