資源簡介
計算機圖形學中采了用中點畫圓的方法,程序已經(jīng)實現(xiàn)了,可以放心下載

代碼片段和文件信息
#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.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智能插座整個工程源文件
- 下一篇:基于圖像處理的鐵軌表面缺陷檢測算法
評論
共有 條評論