没有合适的资源?快使用搜索试试~ 我知道了~
图形学作业1 报告1
需积分: 0 0 下载量 112 浏览量
2022-08-03
13:48:53
上传
评论
收藏 1.21MB PDF 举报
温馨提示
试读
12页
作业简介本次作业要求你完整实现一个简单的 2D 样条曲线编辑器。该编辑器应支持 Bezier 曲线和 B 样条曲线, 可以实现两种曲线的转换(仅对四个控制点的双
资源详情
资源评论
资源推荐
图形学作业 1:
曲线和曲面 Curves & Surfaces
学 号: 20171002157
班级序号: 111172
姓 名: 杨杰
指导教师: 罗忠文
中国地质大学信息工程学院软件工程系
2019 年 9 月
1
目录
作业简介........................................................................................................................................... 2
具体实现........................................................................................................................................... 2
为 Curve 类实现 Paint(ArgParser*)函数 ................................................................................ 2
绘制 Bezier 曲线和 BSplines 曲线 .......................................................................................... 2
实现 Bezier 曲线和 BSplines 曲线之间的转换 ...................................................................... 4
实现控制点编辑函数 ............................................................................................................... 6
实现 > 4 个控制点的曲线转换.............................................................................................. 7
实现 SurfaceOfRevolution 类................................................................................................... 7
实现 16 个控制点的 4x4 Bezier 块 ......................................................................................... 8
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页未读,继续阅读
图像车间
- 粉丝: 27
- 资源: 298
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0