【计算机图形学】-二维曲线绘制实验 (code included)

1. 实验目的:

了解曲线的生成原理,掌握几种常见的曲线生成算法,利用VC+OpenGL实现Bezier曲线生成算法。


2. 实验内容:

(1) 结合示范代码理解曲线生成原理与算法实现,尤其是Bezier曲线;
(2) 用Bezier曲线定义(参考教材P195页函数BezierCurve)或de Casteljau算法(参考教材P197页函数Casteljau)实现曲线绘制函数bezier。教材上绘制的Bezier曲线是三次的,实验中要求是n次(如果最终选择了n+1个控制点)。
Bezier曲线:Bezier曲线是通过一组多边形折线(称为控制多边形)的顶点(称为控制点)来定义的。如果控制点固定不变,则由其定义的Bezier曲线是唯一的。在所有控制点中,只有第一点和最后一点在曲线上且作为曲线的起始处和终止处,其他的点用于控制曲线的形状及阶次。曲线的形状趋向于多边形折线的形状,要修改曲线,只要修改折线的各顶点就可以了。
Bezier曲线绘制思路:绘制时通过设定参数t的间隔,如t=0.0, 0.01, 0.02, …, 0.99, 1.0,计算出每个t时的曲线上点的坐标,然后以该点及该点的前一点为直线的两头端点画某种颜色(如红色)直线段即可,画直线段可以用BresLine函数。
Bezier曲线绘制过程:利用键盘和鼠标在屏幕上画出一条Bezier曲线(注:空格键选择控制点,'m’结束控制点的选择,控制点不能超过个30),如下图所示:

选第3个控制顶点
选第4个控制顶点
选第6个控制顶点
选最后一个(按“m”键)控制顶点

附录: Source Code(in C)

链接: 二维曲线绘制实验.rar

(代码仅供参考)

没有币的同学来Gitee吧!记得留下Star噢~
Jack-lllll 的Gitee仓库

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值