没有合适的资源?快使用搜索试试~ 我知道了~
图形学作业1 报告1
需积分: 0 0 下载量 21 浏览量
2022-08-03
13:48:53
上传
评论
收藏 1.21MB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86284191/0001-90aab8d66d9d39264b70f982923a2a34_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
12页
作业简介本次作业要求你完整实现一个简单的 2D 样条曲线编辑器。该编辑器应支持 Bezier 曲线和 B 样条曲线, 可以实现两种曲线的转换(仅对四个控制点的双
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86284191/bg1.jpg)
图形学作业 1:
曲线和曲面 Curves & Surfaces
学 号: 20171002157
班级序号: 111172
姓 名: 杨杰
指导教师: 罗忠文
中国地质大学信息工程学院软件工程系
2019 年 9 月
![](https://csdnimg.cn/release/download_crawler_static/86284191/bg2.jpg)
1
目录
作业简介........................................................................................................................................... 2
具体实现........................................................................................................................................... 2
为 Curve 类实现 Paint(ArgParser*)函数 ................................................................................ 2
绘制 Bezier 曲线和 BSplines 曲线 .......................................................................................... 2
实现 Bezier 曲线和 BSplines 曲线之间的转换 ...................................................................... 4
实现控制点编辑函数 ............................................................................................................... 6
实现 > 4 个控制点的曲线转换.............................................................................................. 7
实现 SurfaceOfRevolution 类................................................................................................... 7
实现 16 个控制点的 4x4 Bezier 块 ......................................................................................... 8
![](https://csdnimg.cn/release/download_crawler_static/86284191/bg3.jpg)
2
作业简介
本次作业要求你完整实现一个简单的 2D 样条曲线编辑器。该编辑器应支持 Bezier 曲线
和 B 样条曲线, 可以实现两种曲线的转换(仅对四个控制点的双三次样条曲线)。在你的曲线
程序能工作后,将转到由这些曲线来产生曲面:旋转曲面和双三次 Bezier 片。
具体实现
为 Curve 类实现 Paint(ArgParser*)函数
该函数是绘制控制点和控制点连线函数。已知点的数量为 vertices_num,点的坐标在
vertices_array 中。
首先绘制出点,遍历 vertices_num 个点,每次使用 Get()得到需要绘制的点的坐标,
然后使用函数 glBegin(GL_POINTS) 、 glBegin(GL_LINES) 、 glPointSize(int) 、
glLineWidth(int)、glColor3f(float,float,float)和 glVertex3f(float,float,float)将点画出。
然后绘制线,遍历 vertices_num-1 个线段,Get()函数分别得到线段起点和终点的点
坐标,使用 glBegin(GL_LINES)等函数将线段画出。
绘制 Bezier 曲线和 BSplines 曲线
绘制 Bezier 曲线,首先调用 Curve::Paint(args),将控制点绘制出。然后通过
args->curve_tessellation 得到输入的曲线的细分程度。遍历 vertices_num – 1 个线段,线段中
遍历线段的每一细分程度的线段,画每一段细分后的线段。
剩余11页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![avatar](https://profile-avatar.csdnimg.cn/ce45e2a20c204aeca1c7c60ed9e7bf5f_weixin_35748288.jpg!1)
图像车间
- 粉丝: 24
- 资源: 298
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0