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)相关推荐

  1. 计算机图形学二维变换知识点,计算机图形学 二维变换及二维.ppt

    计算机图形学 二维变换及二维 第三章 二维变换及二维观察 本章主要内容 3.1二维图形的基本变换 3.2窗口视图变换 3.3复合变换 3.4二维图形裁剪 3.5本章小结 3.1 二维图形的基本变换 3 ...

  2. 4.1二维曲线绘制(plot与fplot)

    今天学习了二维曲线绘制,主要讲解一些图像的如何绘制(一代码一图片) 例1.绘制一条折线. x=[2.5, 3.5, 4, 5]; y=[1.5, 2.0, 1, 1.5]; plot(x, y) 总结 ...

  3. 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...

    计算机图形学实验:二维图形变换.docx (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验三 二维图形变换一.实验任务1. 通 ...

  4. 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...

    <江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...

  5. 计算机图形学二维图形基本变换实验原理,【实验课件】二维及三维图形基本变换的实现...

    实验二 二维及三维图形基本变换的实现 一.实验学时 4学时 二.实验类型 设计型实验 三.实验目的和要求 1. 掌握二维图形变换的原理,对一条直线实现二维基本变换(平移.错切.比例.旋转). 2. 掌 ...

  6. 计算机图形学-二维图形变换 笔记总结与代码实战

    文章目录 1.向量基础知识 2.图形坐标系 3.二维图形变换原理 4.二维图形几何变换 5.窗口视区变换 基本二维几何变换代码 二维复合变换实战-五星红旗绘制 1.向量基础知识 为什么向量如此重要:在 ...

  7. 计算机图形学——二维图形几何转换

    文章目录 一.实验目的 二.实验要求 三.实验步骤 1.打开直线扫面转换MFC项目工程,及其中的直线类CLine. 2.二维点类CP2添加齐次坐标 3.设计实现二维图像几何变换类 1.新建二维图形几何 ...

  8. 计算机图形学--二维图形变换

    目录 概述 平移 对称 旋转 错切 缩放 概述 对于二维图形来讲,所有基本变换均可以通过确定图形的点的平移.对称.旋转.错切以及缩放几种变换组合得到,而在上述几种变换中,除对称变换外,其余变换均可通过 ...

  9. 计算机图形学-二维图形-几何变换

    几何变化 一.概述 图形变换:是一种几何变换,在二维图形处理过程中,常常需要对平面图形的形状,尺寸,显示方向和显示位置进行修改,来达到改变图形的目的. 几何变换:是一种先行变换,对原来图形中的一点坐标 ...

最新文章

  1. 虚幻填坑004:减少starter content占用空间,只保留使用的assets
  2. 如何制作cab包(解决不能注册的问题)
  3. 【推荐】技术人必看的音视频学习资源清单
  4. 量化延时法时间测量_干货分享:直线度测量发展及几种方法详解
  5. AC日记——ISBN号码 openjudge 1.7 29
  6. python刚出来多少薪资-作为Python程序员,薪资一般是多少?
  7. Service Worker 全面进阶
  8. 斯坦福自然语言组的NLP及计算语言学的资料汇总
  9. 【BZOJ4260】Codechef REBXOR(前i个数的最大区间异或值---01字典树+dp)
  10. 元宵节动画贺卡制作_2017鸡年元宵节flash电子贺卡模板下载-2017元宵节电子贺卡flash动画模板完整打包下载-东坡下载...
  11. intel 显卡 opencl安装
  12. 【无标题】三星Xpress M2020打印机刷免芯片
  13. 批量将一个 PPT 幻灯片文件按固定页数拆分成多个幻灯片文件
  14. golang-内存管理-GC回收
  15. 狸猫 + 黑猫警长正在待命
  16. 抖音xlog算法 bqq 以及各个参数的解释以及如何突破风控注册账号和点赞关注
  17. oracle视图大全,oracle常见视图汇总
  18. JavaScript 之 对象及其本身
  19. vb中msgbox函数用法
  20. 【005】C++数据类型之实型(浮点数)、有符号数以及无符号数

热门文章

  1. 数字信号处理基本指令(3)实验三 吉布斯现象实验
  2. keil5左边的project窗口打开或者放置原位
  3. 安装elementui
  4. 杂谈(2)为什么穷人家难翻身?
  5. python 基础(数据类型、运算符、流程控制、推导式、函数等...更新中)
  6. PowerToys-值得一试的效率工具
  7. 10秒后自动跳转网页
  8. 07 JVM整体结构
  9. BorderLayout布局的简单使用
  10. 解决plsql解决中文乱码问题