TIT 计算机图形学 实验一 制作平面体或者二次曲面体的三维物体线框模型动画

前言

一、实验项目要求

1.设计物体线框模型类

2.调用三维变换类将物体导入三维场景(CTestView类)中显示

3.使用鼠标或者键盘方向键,与图形进行交互

二.理论分析或算法分析

建立一个cube类绘制十二面体。结合tranform几何变换函数,使用消息响应函数OnLButtonDown、OnLButtonUp实现鼠标交互,使用OnKeyDown实现键盘交互,Ontimer函数实现图形的播放动画效果

三、源代码

实验源码很多,没有传CSDN因为小张认为源码并不是我开的,只是拿老师的程序做了一些东西,拿这个赚积分和马内未免有点!这里直接放了三套源程序供大家学习参考 十二面体 、[正八面体](TG-Learn/First-semester-of-junior-year/MFC at main · GC-ZF/TG-Learn (github.com)金字塔,不方便访问Github的可以评论邮箱。这里也不放讲解了,孔老师的视频课讲的很清楚,大家去B站就可以看啦!

四、运行截图

image-20211220214722559 image-20211220214712978

TIT 计算机图形学 实验二 黑白颜色填充双三次bezier曲面片

前言

一、实验项目要求

1.使用均布网格细分曲面

2.使用黑白棋盘颜色填充细分后的小面

二.理论分析或算法分析

首先绘制双三次贝塞尔曲面,定义十六个控制点,利用公式P(u,v)=UMPM^T^V^T^计算曲面,之后将曲面递归细分为100个面,利用路径层填充黑白颜色

三、源代码

实验源码很多,没有传CSDN因为小张认为源码并不是我开的,只是拿老师的程序做了一些东西,拿这个赚积分和马内未免有点!这里直接放了黑白颜色填充双三次bezier曲面片源程序,不方便访问Github的可以评论邮箱。这里也不放讲解了,孔老师的视频课讲的很清楚,大家去B站就可以看啦!(黑白颜色填充双三次bezier曲面片,以及主页相关算法)

四、运行截图

image-20211221000614250

TIT 计算机图形学 实验三 使用重心坐标算法绘制颜色渐变的正六面体

前言

一、实验项目要求

1.设计立方体类,八个顶点的颜色定义为白、红、绿、黄、蓝、品红、青、黑

2.使用重心坐标算法,基于顶点颜色填充立方体的四边形表面

3.使用背面剔除算法对立方体进行消隐

4.使用鼠标或键盘方向键,与图形进行交互

二、理论分析或算法分析

建立Cube类,写入立方体的点表与面表,并用背面剔除算法绘制,将正方体每个面分为两个三角形,利用重心坐标算法,算出三角形重心,利用三个点的RGB值与重心坐标绘制出三角形内每一个像素点的RGB值,使用Fill函数绘制RGB立方体

三、源代码

实验源码很多,没有传CSDN因为小张认为源码并不是我开的,只是拿老师的程序做了一些东西,拿这个赚积分和马内未免有点!这里直接放了RGB立方体重心填充算法源程序,不方便访问Github的可以评论邮箱。这里也不放讲解了,孔老师的视频课讲的很清楚,大家去B站就可以看啦!(旋转风车动画,以及主页相关算法)

四、运行截图

image-20211221001112824

TIT 计算机图形学 实验四 立方体的背面剔除

前言

一、实验项目要求

  1. 建立立方体类

  2. 背面剔除算法消隐

二、理论分析或算法分析

建立一个cube类用于绘制立方体,使用背面提出算法,对立方体进行消隐

三、源代码

实验源码很多,没有传CSDN因为小张认为源码并不是我开的,只是拿老师的程序做了一些东西,拿这个赚积分和马内未免有点!这里直接放了 立方体的背面剔除源程序,不方便访问Github的可以评论邮箱。这里也不放讲解了,孔老师的视频课讲的很清楚,大家去B站就可以看啦!(背面剔除消隐算法,以及主页相关算法)

四、运行截图

通过本次实验,学习了背面剔除算法的基本原理,主要针对凸多面体设计,关键是给出测试其每个表面的可见性判别式,可以根据其外法向量N与视向量V的夹角来进行可见性检测

image-20211221001314262

TIT 计算机图形学 实验五 制作立方体光照纹理模型

前言

一、实验项目要求

  1. 建立立方体类
  2. 背面剔除算法消隐
  3. PhongShader光照
  4. 使用六张纹理图片

二、理论分析或算法分析

使用cube类建立立方体,使用在Zbuffer中的PhongShader进行光照着色。调用texture建立一个一维数组读入六张位图,在cube中设置六个面的纹理

三、源代码

实验源码很多,没有传CSDN因为小张认为源码并不是我开的,只是拿老师的程序做了一些东西,拿这个赚积分和马内未免有点!这里直接放了制作立方体光照纹理模型源程序,不方便访问Github的可以评论邮箱。这里也不放讲解了,孔老师的视频课讲的很清楚,大家去B站就可以看啦!(独孤信印章,球体三维纹理映射算法,以及主页相关算法)

四、运行截图

image-20211221002051053 image-20211221002055313

TIT 计算机图形学 实验六 基于OBJ文件建模

前言

一、实验项目要求

  1. 建立立方体类。编写读入OBJ文件
  2. 在屏幕上绘制OBJ线框模型

二.理论分析或算法分析

从网上下载好OBJ文件,使用OBJ类读入OBJ文件,建立线框模型。这里放一个网站供大家使用

三、源代码

实验源码很多,没有传CSDN因为小张认为源码并不是我开的,只是拿老师的程序做了一些东西,拿这个赚积分和马内未免有点!这里直接放了基于OBJ文件建模源程序,不方便访问Github的可以评论邮箱。这里也不放讲解了,孔老师的视频课讲的很清楚,大家去B站就可以看啦!(基于OBJ文件的立方体建模算法,以及主页相关算法)

使用自己的obj文件,将obj文件路径复制到红框里(这里我把obj文件放在了源程序的res当中,建议你们也这样,因为程序打包后使用相对路径,在其他电脑上不影响程序运行)。下面两行Scale表示对x,y,z坐标的缩放,Translate表示x,y,z 的平移,可能导入的obj图像太靠边缘,适当调整一下obj位置

image-20211222003356537

四、运行截图

image-20211221001927237