资源简介
计算机图形学实验【DDA;中点线,圆,椭圆】(OpenGL实现)
代码片段和文件信息
#include “GL/glut.h“
#include “GL/glu.h“
#include “GL/gl.h“
#include “string.h“
#include “sstream“
#include “assert.h“
#include “iostream.h“
static const int QUIT_VALUE(99);
GLuint listID;
void Bresenham(int x0int y0int x1int y1)
{
x0=x0*100;
y0=y0*100;
x1=x1*100;
y1=y1*100;
float dxdyadd1add2p0xym;
int k;
dx=x1-x0;
dy=y1-y0;
m=dy/dx;
if(m>1)
{
p0=2*dx-dy;
add1=2*(dx-dy);
add2=2*dx;
}
else if(m>=0)
{
p0=2*dy-dx;
add1=2*(dy-dx);
add2=2*dy;
}
else if(m>-1)
{
p0=2*dy+dx;
add1=2*(dy+dx);
add2=2*dy;
}
else
{
p0=2*dx+dy;
add1=2*(dx+dy);
add2=2*dx;
}
x=x0y=y0;
glColor3f(110);
glBegin(GL_POINTS);
cout<<“直线的Bresenham算法:“< glVertex2f(x/1000y/1000);
if(m>1)
for(k=0;k {
if(p0>0)
{
p0+=add1;
x++;
y++;
}
else
{
p0+=add2;
y++;
}
glVertex2f(x/1000y/1000);
}
else if(m>0)
for(k=0;k {
if(p0>0)
{
p0+=add1;
x++;
y++;
}
else
{
p0+=add2;
x++;
}
glVertex2f(x/1000y/1000);
}
else if(m>-1)
for(k=0;k {
if(p0>0)
{
p0+=add2;
x++;
y--;
}
else
{
p0+=add1;
x++;
}
glVertex2f(x/1000y/1000);
}
else
{
for(k=0;k {
if(p0>0)
{
p0+=add1;
x++;
y--;
}
else
{
p0+=add2;
y--;
}
glVertex2f(x/1000y/1000);
}
}
glEnd();
}
static void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.f0.f-4.f);
glCallList(listID);
glutSwapBuffers();
assert(glGetError()==GL_NO_ERROR);
}
static void reshape(int wint h)
{
glViewport(00wh);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(50.(double)w/(double)h1.10.);
glMatrixMode(GL_MODELVIEW);
assert(glGetError()==GL_NO_ERROR);
}
static void mainMenuCB(int value)
{
if(value==QUIT_VALUE)
exit(0);
}
static void init()
{
glDisable(GL_DITHER);
std::string ver((const char*) glGetString(GL_VERSION));
assert(!ver.empty());
std::istringstream verStream(ver);
int majorminor;
char dummySep;
verStream>>major>>dummySep>>minor;
const bool useVertexArrays=((major>=1)&&(minor>=1));
const GLfloat data[]={-1.f-1.f0.f1.f-1.f0.f0.f1.f0.f };
if(useVertexArrays)
{
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3GL_FLOAT0data);
}
listID=glGenLists(1);
glNewList(listIDGL_COMPILE);
glBegin(GL_LINES);
glColor3f(111);
glVertex3f(0.0f 0.0f 0.0f);
glVertex3f(-3.0 0.0f 0.0f);
glVertex3f(0.0f 0.0f 0.0f);
glVertex3f(3.0 0.0f 0.0f);
glVertex3f(0.0f 0.0f 0.0f);
glVertex3f(0.0 2.0f 0.0f);
glVertex3f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-11-01 23:52 图形学实验\
文件 3689 2013-10-30 15:32 图形学实验\Bresenham直线.cpp
文件 3487 2013-10-30 22:33 图形学实验\Bresenham直线.dsp
文件 534 2013-10-30 23:19 图形学实验\Bresenham直线.dsw
文件 41984 2013-10-30 23:19 图形学实验\Bresenham直线.ncb
文件 48640 2013-10-30 23:19 图形学实验\Bresenham直线.opt
文件 260 2013-10-30 23:05 图形学实验\Bresenham直线.plg
文件 2717 2013-10-29 22:29 图形学实验\DDA直线.cpp
文件 3415 2013-10-29 22:27 图形学实验\DDA直线.dsp
文件 522 2013-10-29 22:29 图形学实验\DDA直线.dsw
文件 41984 2013-10-29 22:29 图形学实验\DDA直线.ncb
文件 48640 2013-10-29 22:29 图形学实验\DDA直线.opt
文件 1167 2013-10-29 22:29 图形学实验\DDA直线.plg
目录 0 2013-11-01 23:52 图形学实验\Debug\
文件 528478 2013-10-30 15:32 图形学实验\Debug\Bresenham直线.exe
文件 772320 2013-10-30 15:32 图形学实验\Debug\Bresenham直线.ilk
文件 246646 2013-10-30 15:32 图形学实验\Debug\Bresenham直线.obj
文件 2329492 2013-10-30 15:13 图形学实验\Debug\Bresenham直线.pch
文件 1065984 2013-10-30 15:32 图形学实验\Debug\Bresenham直线.pdb
文件 524376 2013-10-29 22:29 图形学实验\Debug\DDA直线.exe
文件 771908 2013-10-29 22:29 图形学实验\Debug\DDA直线.ilk
文件 253238 2013-10-29 22:29 图形学实验\Debug\DDA直线.obj
文件 5655688 2013-10-14 17:34 图形学实验\Debug\DDA直线.pch
文件 1065984 2013-10-29 22:29 图形学实验\Debug\DDA直线.pdb
文件 516191 2013-10-14 17:27 图形学实验\Debug\EllipsePoints.exe
文件 746684 2013-10-14 17:27 图形学实验\Debug\EllipsePoints.ilk
文件 251129 2013-10-14 17:27 图形学实验\Debug\EllipsePoints.obj
文件 2345880 2013-10-12 13:01 图形学实验\Debug\EllipsePoints.pch
文件 1025024 2013-10-14 17:27 图形学实验\Debug\EllipsePoints.pdb
文件 508000 2013-10-14 17:18 图形学实验\Debug\MIdPointCircle.exe
文件 733628 2013-10-14 17:18 图形学实验\Debug\MIdPointCircle.ilk
............此处省略56个文件信息
相关资源
- 计算机图形学何援军
- Computer Graphics with OpenGL 4th edition 高清
- 计算机图形学/分形/ 有2维的山、树,
- 图形学光线追踪
- 山东大学图形学实验二多边形的世界
- Polygon Mesh Processing164297
- 计算机图形学 Bezier曲线
- 3D Math Primer for Graphics and Game Developme
- 计算机图形学大作业
- 计算机图形学 Peter.Shirley
- 计算机图形学原理及实践 英文第3版
- 计算机图形学习题答案源代码.rar
- 四川大学计算机图形学
- 计算机图形学视角、纹理
- 计算机图形学几何工具算法详解 pd
- 计算机图形学实现的动画自行车
- 计算机图形学第4版高清电子书.pdf
- 计算机图形学期末大作业——保龄球
- 计算机图形学实验平移,缩放,旋转
- 浙江大学计算机图形学课件
- 计算机图形学:读入off、obj文件
- 图形学经典试验代码1.三维变换2.实时
- 计算机图形学第三版中心画圆法算法
- 计算机图形学源代码经典
- 山东大学计算机图形学实验二3D迷宫漫
- 《计算机图形学VC》源代码
- 天津大学-计算机图形学-复习资料.r
- 3D计算机图形学原书第三版.PDF
- 计算机图形学-基于3D图形开发技术1
- PBRT第二版1
评论
共有 条评论