计算机图形学实验
文章平均质量分 74
阿克劳斯
太阳就在眼前,何须留恋蜡烛
展开
-
【计算机图形学】Bezier Curve
文章目录实验思路代码思路问题及解决方案实现代码核心代码及关键步骤注释全部代码本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动实验思路代码思路void binomialCoeffs()函数求二项式系数,传入点的数量n和记录数组;void computerBezPt()函数计算被贝塞尔曲线沿曲线路径的坐标位置;传入比例系数,点坐标,控制点数,控制点原创 2021-02-13 21:00:37 · 266 阅读 · 0 评论 -
【计算机图形学】Cylinder rendering
文章目录实验思路代码思路问题及解决方法实现代码核心代码及关键步骤注释全部代码本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动实验思路代码思路drawsurface():unitSlice:每次增加的圆周块,unitHeight:每次增加的高度块。总体绘制路线是,在每个圆周块上,绘制完整个高度的块,然后继续绘制下一个圆周块,知道圆周块组成一个圆。所原创 2021-02-13 20:49:24 · 350 阅读 · 0 评论 -
【计算机图形学】Boundary-Fill Algorithm
文章目录实验思路代码思路问题及解决方案实现代码MyStack.hMyStack.cppmain.cpp本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动实验思路代码思路变量介绍:dcpt:点,用坐标表示,x和y成员分别表示x和y坐标;pointStruct:数据成员包含一个点和一个指向点变量的指针,即后面的栈是以链表的形式存储的,也便于实现递归;p原创 2021-02-09 13:42:31 · 279 阅读 · 0 评论 -
【计算机图形学】Three-DimensionalScene Roaming
文章目录实验思路代码思路问题及解决方法实现代码核心代码及关键步骤注释全部代码本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动。大部分内容来自本人实验报告,有错误是难以避免的,若有表述错误或bug欢迎指出。实验思路代码思路变量介绍:CVector3D用于表示向量或者三维坐标,默认初始化为(0,0,0);CViewFrame用于建立观察坐标系,其中数原创 2021-02-09 13:18:04 · 197 阅读 · 0 评论 -
【计算机图形学】Two-Dimensional Viewing and Clippin
文章目录实验思路编程思路问题及解决方案实现代码核心代码及关键步骤注释全部代码本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动实验思路编程思路先设置裁剪窗口各条边的区域码,用十六进制表示,方便进行逻辑运算。encode()函数用来对单个点相对于裁剪窗口的位置进行判断,并返回十六进制数。用accept(),reject(), inside()函数依次表原创 2021-02-09 13:01:16 · 283 阅读 · 0 评论 -
【计算机图形学】Tow-Dimensional Geometric Transforamation
文章目录实验思路实现代码核心代码及关键步骤注释全部代码本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动实验思路根据教材上的变换矩阵,借助二维数组,依次写出生成旋转、缩放、平移矩阵的函ScalingMatrix(),RotationMatrix(),TranslationMatrix()。每种变换都有一个生成变换矩阵函数和一个变换函数相对应Transl原创 2021-02-09 12:50:27 · 140 阅读 · 0 评论 -
【计算机图形学】LineStyle and Line Width
文章目录实验思路实现代码核心代码及关键步骤注释全部代码代码缺陷本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动实验思路采用Bresenham算法,通过依次绘制像素点的方式画出直线。为精简代码,将deltaX和deltaY分别大于等于0和小于0的情况,使用一个if-else分支便可完成绘制,在进入绘制循环之前先进行判断其与0的大小情况,设定add X和原创 2021-02-09 00:51:27 · 386 阅读 · 0 评论 -
【计算机图形学】Bresenham’s Line Algorithm
Bresenham’s Line Algorithm实验思路实现代码核心代码及关键步骤注释全部代码本博客基于课程"计算机图形学",教材使用为计算机图形学(第4版) [Computer Graphics with OpenGL, Fourth Edition],部分代码模板便来自于此教材,并且有所改动实验思路此代码通过一些判断将会出现的需要进行判断的八种情况进行合并成两种,大大减少了代码量实现代码核心代码及关键步骤注释void MyLine(int xs, int ys, int xe, int原创 2021-02-09 00:30:54 · 281 阅读 · 0 评论