【计算机图形学】-二维曲线绘制实验 (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),如下图所示:
附录: Source Code(in C)
链接: 二维曲线绘制实验.rar
(代码仅供参考)
没有币的同学来Gitee吧!记得留下Star噢~
Jack-lllll 的Gitee仓库
【计算机图形学】-二维曲线绘制实验 (code included)相关推荐
- 计算机图形学二维变换知识点,计算机图形学 二维变换及二维.ppt
计算机图形学 二维变换及二维 第三章 二维变换及二维观察 本章主要内容 3.1二维图形的基本变换 3.2窗口视图变换 3.3复合变换 3.4二维图形裁剪 3.5本章小结 3.1 二维图形的基本变换 3 ...
- 4.1二维曲线绘制(plot与fplot)
今天学习了二维曲线绘制,主要讲解一些图像的如何绘制(一代码一图片) 例1.绘制一条折线. x=[2.5, 3.5, 4, 5]; y=[1.5, 2.0, 1, 1.5]; plot(x, y) 总结 ...
- 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...
计算机图形学实验:二维图形变换.docx (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验三 二维图形变换一.实验任务1. 通 ...
- 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...
<江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...
- 计算机图形学二维图形基本变换实验原理,【实验课件】二维及三维图形基本变换的实现...
实验二 二维及三维图形基本变换的实现 一.实验学时 4学时 二.实验类型 设计型实验 三.实验目的和要求 1. 掌握二维图形变换的原理,对一条直线实现二维基本变换(平移.错切.比例.旋转). 2. 掌 ...
- 计算机图形学-二维图形变换 笔记总结与代码实战
文章目录 1.向量基础知识 2.图形坐标系 3.二维图形变换原理 4.二维图形几何变换 5.窗口视区变换 基本二维几何变换代码 二维复合变换实战-五星红旗绘制 1.向量基础知识 为什么向量如此重要:在 ...
- 计算机图形学——二维图形几何转换
文章目录 一.实验目的 二.实验要求 三.实验步骤 1.打开直线扫面转换MFC项目工程,及其中的直线类CLine. 2.二维点类CP2添加齐次坐标 3.设计实现二维图像几何变换类 1.新建二维图形几何 ...
- 计算机图形学--二维图形变换
目录 概述 平移 对称 旋转 错切 缩放 概述 对于二维图形来讲,所有基本变换均可以通过确定图形的点的平移.对称.旋转.错切以及缩放几种变换组合得到,而在上述几种变换中,除对称变换外,其余变换均可通过 ...
- 计算机图形学-二维图形-几何变换
几何变化 一.概述 图形变换:是一种几何变换,在二维图形处理过程中,常常需要对平面图形的形状,尺寸,显示方向和显示位置进行修改,来达到改变图形的目的. 几何变换:是一种先行变换,对原来图形中的一点坐标 ...
最新文章
- 虚幻填坑004:减少starter content占用空间,只保留使用的assets
- 如何制作cab包(解决不能注册的问题)
- 【推荐】技术人必看的音视频学习资源清单
- 量化延时法时间测量_干货分享:直线度测量发展及几种方法详解
- AC日记——ISBN号码 openjudge 1.7 29
- python刚出来多少薪资-作为Python程序员,薪资一般是多少?
- Service Worker 全面进阶
- 斯坦福自然语言组的NLP及计算语言学的资料汇总
- 【BZOJ4260】Codechef REBXOR(前i个数的最大区间异或值---01字典树+dp)
- 元宵节动画贺卡制作_2017鸡年元宵节flash电子贺卡模板下载-2017元宵节电子贺卡flash动画模板完整打包下载-东坡下载...
- intel 显卡 opencl安装
- 【无标题】三星Xpress M2020打印机刷免芯片
- 批量将一个 PPT 幻灯片文件按固定页数拆分成多个幻灯片文件
- golang-内存管理-GC回收
- 狸猫 + 黑猫警长正在待命
- 抖音xlog算法 bqq 以及各个参数的解释以及如何突破风控注册账号和点赞关注
- oracle视图大全,oracle常见视图汇总
- JavaScript 之 对象及其本身
- vb中msgbox函数用法
- 【005】C++数据类型之实型(浮点数)、有符号数以及无符号数