TIT 计算机图形学 期中课设-坛子的线框模型

前言

一、课设要求

  1. 熟练掌握MFC

  2. 熟练使用集成开发环境Visual Studio

  3. 熟练掌握计算机图形学建模相关知识点

  4. 熟悉计算机图形学建模相关算法

  5. 学会使用文件流解决问题(扩展)

二、项目描述

使用透视投影展现了坛子的整体,右侧将坛子的四段回转体分别展示,实现了键鼠的角度交互,可以通过↑↓←→改变坛子整体和四段回转体的角度,使用播放键可以实现坛子整体旋转效果

三、项目设计

坛子主要由四段Bezier曲线分别绘制坛底(D0、D1、D2、D3)、坛身1(B0、B1、B2、B3)、坛身2(B3~B4)、坛盖(L1、L2、L3、L4),通过回转法绘制

Bezier曲线由CbezierPath绘制,每条Bezier曲线读入16个控制点,递归成100片小面,通过公式P(u,v)=UMPM^T^ V^T^绘制出UV两个方向的曲面,每条曲线再通过四个双三次Bezier曲面回转绘制成回转体

image-20211221003505506

四、主要代码

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

五、运行截图

image-20211221003945365

六、项目总结

在调试过程中多次出现内存不足,检查发现三维变换需要分别设置四次transform对象。分别对四个回转体设置交互时的回转角度,这样就不会出现内存不足的问题

先进行缩小再平移。如果先平移再缩小,会对之后的旋转参数有影响

关于坐标点,不容易找到合适的坐标点,先绘制出XY坐标系下大概轮廓,之后进行微调。