资源简介
计算机图形学中采了用中点画圆的方法,程序已经实现了,可以放心下载
代码片段和文件信息
#include
class screenPt
{
public:
screenPt()
{
x = y = 0;
}
void setCoords(GLint xCoordValue GLint yCoordValue)
{
x = xCoordValue;
y = yCoordValue;
}
GLint getx() const
{
return x;
}
GLint gety() const
{
return y;
}
void incrementx()
{
x++;
}
void decrementy()
{
y--;
}
private:
GLint x y;
};
void setPixel(GLint xCoord GLint yCoord)
{
glBegin(GL_POINTS);
glVertex2i(xCoord yCoord);
glEnd();
}
void circleMidpoint(GLint xc GLint yc GLint radius)
{
screenPt circPt;
GLint p = 1 - radius;
circPt.setCoords(0 radius);
void circlePlotPoints(GLint GLint screenPt);
circlePlotPoints(xc yc circPt);
while (circPt.getx() < circPt.gety())
{
circPt.incrementx();
if (p < 0)
{
p += 2*circPt.getx() + 1;
}
else
{
circPt.decrementy();
p +=2*circPt.getx() - 2*circPt.gety() + 1;
}
circlePlotPoints(xc yc circPt);
}
}
void circlePlotPoints(GLint xc GLint yc screenPt circPt)
{
setPixel(xc+circPt.getx() yc + circPt.gety());
setPixel(xc - circPt.getx() yc + circPt.gety());
setPixel(xc + circPt.getx() yc - circPt.gety());
setPixel(xc - circPt.getx() yc - circPt.gety());
setPixel(xc + circPt.gety() yc + circPt.getx());
setPixel(xc - circPt.gety() yc + circPt.getx());
setPixel(xc + circPt.gety() yc - circPt.getx());
setPixel(xc - circPt.gety() yc - circPt.getx());
}
void init()
{
glClearColor(0.0 0.0 0.0 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-200.0 200.0 -200.0 200.0);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0 0.0 0.0);
circleMidpoint(5 5 100);
glFlush();
}
int main(int argc char** argv)
{
glutInit(&argc argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(100 100);
glutInitWindowSize(400 400);
glutCreateWindow(“Midpoint algorithm circle“);
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 172130 2012-03-12 10:13 midCircle\Debug\midCircle.exe
文件 194324 2012-03-12 10:13 midCircle\Debug\midCircle.ilk
文件 11100 2012-03-12 10:13 midCircle\Debug\midCircle.obj
文件 312500 2012-03-12 10:13 midCircle\Debug\midCircle.pch
文件 336896 2012-03-12 10:13 midCircle\Debug\midCircle.pdb
文件 33792 2012-03-12 10:13 midCircle\Debug\vc60.idb
文件 45056 2012-03-12 10:13 midCircle\Debug\vc60.pdb
文件 2024 2012-03-12 10:13 midCircle\midCircle.cpp
文件 4320 2012-03-12 10:14 midCircle\midCircle.dsp
文件 543 2012-03-12 10:12 midCircle\midCircle.dsw
文件 33792 2012-03-12 10:14 midCircle\midCircle.ncb
文件 48640 2012-03-12 10:14 midCircle\midCircle.opt
文件 903 2012-03-12 10:13 midCircle\midCircle.plg
目录 0 2012-03-12 10:13 midCircle\Debug
目录 0 2012-03-12 10:14 midCircle
----------- --------- ---------- ----- ----
1196020 15
- 上一篇:wifi智能插座整个工程源文件
- 下一篇:基于图像处理的铁轨表面缺陷检测算法
相关资源
- opengl编程指南第7版源代码
- 3D酷炫屏幕保护程序OpenGL
- OpenGL文件.zip
- 配置OpenGL以及glaux所需资源.h.dll
- luweiqi素材
- VS2017&OpenGL;环境搭建
- 计算机图形学,内含DDA画直线,画圆
- 计算机图形学旋转和投影
- OpenGL 顶点数组+拾取
- openGL配置资源文件,含32/64位
- GLPrint_demo
- 圆球圆环构造opengl函数
- opengl画圆柱体直接函数法,逼近法
- openGl立方体纹理贴图
- OpenGL 库glut读取obj文件并使用显示列表
- 3DsMAX人体骨骼模型可用于OPENGL读取处
- gultopengl开发安装包
- opengl实现的飞机
- opengl 绘制 棱锥
- 计算机图形学自行车实验
- 计算机图形学实验六真实感图形程序
- 计算机图形学实验五三维图形变换程
- B样条曲线绘制图案--一个计算机图形
- 计算机图形学简明教程课后习题答案
- 安徽大学计算机图形学考试题集.doc
- opengl光照小
- 无法打开包括文件 gl glaux.h No such fi
- openGL打包库
- 计算机图形学答案详细 清华大学出版
- 西南交大计算机图形学期末复习提纲
评论
共有 条评论