91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 13.77MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-06-26
  • 語言: 其他
  • 標簽:

資源簡介

計算機圖形學(第三版)中心畫圓法算法代碼:代碼運行軟件版本(Visual Studio 2017)【軟件安裝教程百度“VS2015安裝+OpenGL環境配置及測試”】 參考書本代碼85~86頁代碼,稍作修改,實現中心畫圓。

資源截圖

代碼片段和文件信息

#include?“Dependencies\glew\glew.h“
#include?“Dependencies\freeglut\freeglut.h“
#include?

GLint?array[1000][2];?//保存要顯示的坐標點
int?length=0;
class?screenPt?{
private:
GLint?x?y;
public:
/*??Default?Constructor:initializes?coordinate?position?to?(00).??*/
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--;
}

};

void?init(void)?{
glClearColor(1.0?1.0?1.0?0.0);//窗口顏色(紅:[0.0~1.0]R?綠:[0.0~1.0]G,藍:[0.0~1.0]B?透明度:[0.0~1.0]A)

?/*使用正投影將世界坐標系二位矩形區域的內容映射到屏幕上,區域的x坐標值從0.0到200.0,y坐標值從0.0到150.0*/
glMatrixMode(GL_PROGRAM);
gluOrtho2D(0.0?200.0?0.0?150.0);
}

void?setPixel(void)
{
glClear(GL_COLOR_BUFFER_BIT);//GL_COLOR_BUFFER_BIT是一個OpenGL符號常量,用來指定它的顏色緩存(刷新緩存)中的位值,該緩存將使用glClearColor函數中指定的值來設定。
glColor3f(1.0f?0.0f?0.0f);//設置線段顏色為紅色

glPointSize(5.f);?//設置點的大小

glBegin(GL_POINTS);

for?(size_t?i?=?0;?i?<=length;?i++)
{
glVertex2i(array[i][1]?array[i][2]);
}

glEnd();

glFlush();//執行所有的OpenGL程序
}

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());
printf(“(%d%d)\n“?xc?+?circPt.getx()?yc?+?circPt.gety());
//要顯示的坐標點保存至array[1000][2]
array[length][1]?=?xc?+?circPt.getx()?array[length][2]?=?yc?+?circPt.gety();

}

void?circleMidpoint(void)
{
screenPt?circPt;
GLint?xc?=?0;
GLint?yc?=?0;
GLint?radius?=?50;
GLint?p?=?1?-?radius;???????????//?Initial?value?for?midpiont?parameter.

circPt.setCoords(0?radius);//?Set?coords?for?top?point?of?circle.

void?circlePlotPoints(GLint?GLint?screenPt);
/*??Plot?the?initial?point?in?each?circle?quadrant.?*/
circlePlotPoints(xc?yc?circPt);
/*??Calculate?next?point?and?plot?in?each?octant.??*/
while?(circPt.getx() length++;
circPt.incrementx();
if?(p<0)
p?+=?2?*?circPt.getx()?+?1;
else?{
circPt.decrementy();
p?+=?2?*?(circPt.getx()?-?circPt.gety())?+?1;
}
circlePlotPoints(xc?yc?circPt);
}

}


int?main(int?argc?char?*argv[])
{
glutInit(&argc?argv);//初始化GULT
glutInitDisplayMode(GLUT_RGB?|?GLUT_SINGLE);//設置顯示模式
glutInitWindowPosition(300500);//設置左上角窗口顯示位置
glutInitWindowSize(400?300);//設置窗口顯示的寬與高
glutCreateWindow(“中點畫圓算法“);//創建一個窗口
init();//執行初始化程序
circleMidpoint();
glutDisplayFunc(setPixel);//把圖形顯示在窗口
glutMainLoop();//顯示所有并進入等待狀態
}




?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????..A..H.?????32256??2017-09-21?13:48??circle\.vs\circle\v15\.suo

?????文件???32075776??2017-09-21?13:48??circle\.vs\circle\v15\Browse.VC.db

?????文件???33947648??2017-09-21?13:46??circle\.vs\circle\v15\ipch\AutoPCH\20e3d3569fc1d5c8\SOURCECPP.ipch

?????文件???????6497??2017-09-20?19:20??circle\circle\circle.vcxproj

?????文件????????950??2017-09-20?19:19??circle\circle\circle.vcxproj.filters

?????文件????????703??2015-03-14?15:34??circle\circle\Dependencies\freeglut\freeglut.h

?????文件??????36518??2015-03-14?15:24??circle\circle\Dependencies\freeglut\freeglut.lib

?????文件??????10682??2015-03-14?15:34??circle\circle\Dependencies\freeglut\freeglut_ext.h

?????文件??????27470??2015-07-22?08:45??circle\circle\Dependencies\freeglut\freeglut_std.h

?????文件????????660??2015-03-14?15:34??circle\circle\Dependencies\freeglut\glut.h

?????文件????1038562??2015-08-10?21:54??circle\circle\Dependencies\glew\glew.h

?????文件?????609776??2015-08-10?21:53??circle\circle\Dependencies\glew\glew32.lib

?????文件??????74912??2015-08-10?21:54??circle\circle\Dependencies\glew\glxew.h

?????文件??????64836??2015-08-10?21:54??circle\circle\Dependencies\glew\wglew.h

?????文件?????235008??2015-03-14?16:02??circle\circle\freeglut.dll

?????文件???????3182??2017-09-21?13:47??circle\circle\sourcecpp.cpp

?????文件????????858??2017-09-20?20:16??circle\circle\x64\Debug\circle.Build.CppClean.log

?????文件????????188??2017-09-21?13:47??circle\circle\x64\Debug\circle.log

?????文件????????208??2017-09-21?13:47??circle\circle\x64\Debug\circle.tlog\circle.lastbuildstate

?????文件????????604??2017-09-21?13:47??circle\circle\x64\Debug\circle.tlog\CL.command.1.tlog

?????文件??????17658??2017-09-21?13:47??circle\circle\x64\Debug\circle.tlog\CL.read.1.tlog

?????文件????????504??2017-09-21?13:47??circle\circle\x64\Debug\circle.tlog\CL.write.1.tlog

?????文件???????1528??2017-09-21?13:47??circle\circle\x64\Debug\circle.tlog\link.command.1.tlog

?????文件???????3816??2017-09-21?13:47??circle\circle\x64\Debug\circle.tlog\link.read.1.tlog

?????文件????????480??2017-09-21?13:47??circle\circle\x64\Debug\circle.tlog\link.write.1.tlog

?????文件?????235008??2015-03-14?16:02??circle\circle\x64\Debug\freeglut.dll

?????文件??????31149??2017-09-21?13:47??circle\circle\x64\Debug\sourcecpp.obj

?????文件?????355328??2017-09-21?13:47??circle\circle\x64\Debug\vc141.idb

?????文件?????126976??2017-09-21?13:47??circle\circle\x64\Debug\vc141.pdb

?????文件???????1430??2017-09-20?19:14??circle\circle.sln

............此處省略22個文件信息

評論

共有 條評論

相關資源