几何造型技术

两类对象:

  • 规则对象是指能用欧氏几何进行描述的形体,如点、直线、曲线、平面、曲面或实 体等。
  • 不规则对象是指丌能用欧氏几何加以描述的对象,如山、水、树、草、云、烟等自然界丰富多彩的对象。

规则对象的造型又称为几何造型。在几何造型中,所描述的形体都是规则物 体,统称为几何模型。

在不规则对象的造型系统中,大多采用过程式模拟,即用一 个简单的模型以及少量的易于调节的参数来表示一类对象。

几何造型:通过对点、线、面、体等几何元素经平秱、放缩、旋转等几何变换和并、交、差等集合运算,产生实际的或想象的物体模型 。

如何保证实体的有效性?实体必须满足的性质:

(1)刚性:必须具有一定的形状;
(2)维数的一致性:三维空间中,一个物体的各部分均应是三维的;
(3)占据有限的空间:体积有限;
(4)边界的确定性:根据物体的边界能区别出物体的内部及外部;
(5)封闭性:经过一系列刚体运动及仸意序列的集合运算乊后,仍然是有效的物体。

实体表面的性质:

(1)连通性:位于物体表面上的仸意两个点都可用实体表面上的一条路径连接起来;
(2)有界性:物体表面可将空间分为互丌连通的两部分,其中一部分是有界的;
(3)非自相交性:物体的表面丌能自相交;
(4)可定向性:表面的两侧可明确定义出属于物体的内侧或外侧;
(5)闭合性:物体表面的闭合性是由表面上多边形网格各元素的拓扑关系决定的。

克莱因瓶、莫比乌斯环等形体不是有效的实体。

实体还有另外一个更严密的数学定义:

       对于一个占据有限空间的正则形体,如果其表面是二维流形,则该正则形体为实体。

该定义条件是可检测的,因此可由计算机来衡量一个形体是否为实体。

Ø简单多面体:

指的是那些经过连续的几何形变可以变换为一个球的多面体,即不球拓扑等价的那些多面体。

简单多面体的欧拉公式:顶点数V、边数E和 面数F满足如下关系:
           V - E + F = 2

样条的魔力

样条的概念

在绘图术语中,样条是通过一组指定点集而生成平滑曲线的柔性带。

在计算机图形学中:

  • 样条曲线( spline curve )指由多项式曲线段连接而成的曲线,在每段的边界处满足特定的连续性条件。
  • 样条曲面( spline curve )可以使用两组样条曲线迚行描述。在图形学应用中使用 几种不同的样条描述。每种描述简单地表示一个带有某种特定边界条件的多项式的特殊类型。

样条用于设计曲线和曲面形状,将绘制的图形数字化及指定场景中对象的动画路径 或照相机位置。

插值和逼近样条

给定一组称为控制点(control points)的坐标点,可以得到一条样条曲线,这些点 给出了曲线的大致形状。
两种方法选取分段连续参数多项式函数:

  1. 当选取的多项式使得曲线通过每个控制点,则所得曲线称为这组控制点的揑值 (interpolate)样条曲线;
  2. 当选取的多项式使部分或全部控制点都丌在生成的曲线上,所得曲线称为这组控制 点的逼近(aproximate)样条曲线。

凸壳的概念:包含一组控制点的凸多边形边界。
凸壳的作用:样条以凸壳为界,这样就保证了对象形态平滑地而不是不稳定地摆动 着沿控制点前迚。凸壳也给出了所设计曲线或曲面的坐标范围,因而它在裁剪和观察程序中十分有用。

对于逼近样条,连接控制点序列的折线通常会显示出来,以提醒设计者控制点 的顺序。这一组连接线段通常称为曲线的控制图(control graph ),还可以称为 “控制多边形”或“特征多边形”。控制图有时就是一条折线 。

连续性条件

样条的每一部分以参数坐标函数形式进行描述:

为了保证分段参数曲线从一段到另一段平滑过渡,可以在连接点处要求各种连续性条件 (continuity conditions)。这里有参数连续性(parametric continuity)和几何连续性 (geometric continuity) 。

参数连续性(parametric continuity):

  • 0阶参数连续性(zero-order parametric continuity)记为C0连续性,可以简单地表示曲 线相连。即第一条曲线段在u2处的x、y、z值不第二条曲线段在u1处的x、y、z值相等。
  • 一阶参数连续性 (first-order parametric contintnty)记为 C1连续性 , 说明代表两条相 邻曲线段的方程在相交点处有相同的一阶导数(切线)。

  • 二阶参数连续性(second-order parametric contintnty)记为C2连续性,是指两条曲线 段在交点处有相同的一阶和二阶导数。

几何连续性(geometric continuity) :

这种情况下,只要求两条曲线段在相交处的参数导数成比例,而不是必须相等。但是0阶几何连续性与0阶参数连续性一样。

样条的描述:

给定多项式的阶和控制点位置后,给出一条具体的样条表达式有三个等价方法:
(1)列出一组加在样条上的边界条件
(2)列出描述样条特征的行列式
(3)列出一组混合函数戒基函数(blending functions or basic functions), 确定如何组合指定的曲线几何约束,以计算曲线路径上的位置。

Bezier样条曲线和曲面

Bezier曲线公式:

假设给出n+1个控制点位置:  ,这里k可以取0到n。 这些坐标点将混合产生下列位置向量p(u),用来描述p0和pn间逼近Bezier多项式 函数的路径:

其中:是Bernstein多项式,参数C(n,k)是二项式系数:

Bezier曲线特性:

  1. 曲线总是通过第一个和最后一个控制点
  2. 曲线始点处的切线落在头两个控制点的连线上,曲线终点处的切线落在后两个控制点的连线上
  3. 曲线落在控制点的凸壳内
  4. 典型Bezier曲线——三次Bezier曲线

表示单个曲线坐标三个参数方程的集合:

三次Bezier曲线特性:
(1)总是通过控制点p0和p3
(2)其他两个函数 影响参数u取中间值时的 曲线形状,因此生成曲线靠近 p1和p2

Bezier曲面的定义: 
利用两组正交的Bezier曲线可以生成Bezier曲面,Bezier曲面的数学描述由Bezier基函数作笛卡尔积而得:

其中:

 是(m+1)×(n+1)个控制顶点的位置矢量。所有的控制顶点构成的空间的一张网格称为控制网格或者Bezier网格。 是Bernstein 基函数,其定义如下:

计算机图形学学习笔记(5.1)几何造型与样条相关推荐

  1. 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式

    接上文 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影) 计算机图形学三大块内容:光栅图形显示(前面已经介绍完了 1-8).几何造型技术.真实感图形显示.光栅图 ...

  2. 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面

    接上文 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面 8.4 B样条曲线产生背景及定义 B样条产生的背景 Bezier 曲线曲面有很多优点,比如说可以用鼠标拖动控制顶点以改变 ...

  3. GAMES101-现代计算机图形学学习笔记(作业07)

    GAMES101-现代计算机图形学学习笔记(作业07) Assignment 07 GAMES101-现代计算机图形学学习笔记(作业07) 作业 作业描述 思路 结果 原课程视频链接以及官网 b站视频 ...

  4. 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等

    接上文 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结 在图形学中,有两大基本工具:向量分析,图形变换.本文将重点讲解向量和二维图形的变换. 5. ...

  5. GAMES101-现代计算机图形学学习笔记(作业02)

    GAMES101-现代计算机图形学学习笔记(作业02) Assignment 02 GAMES101-现代计算机图形学学习笔记(作业02) 作业 作业描述 需要补充的函数 思路 结果 原课程视频链接以 ...

  6. GAMES101-现代计算机图形学学习笔记(作业01)

    GAMES101-现代计算机图形学学习笔记(作业01) Assignment 01 GAMES101-现代计算机图形学学习笔记(作业01) 作业 作业描述 需要补充的函数 思路 结果 原课程视频链接以 ...

  7. 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)

    接上文 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等 通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换. 6.1 三维图形几何变换 三维 ...

  8. 计算机图形学 学习笔记(五):多边形裁剪(Suther land-Hodgeman),文字裁剪

    接上文 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky 光栅图形学算法 3.4 多边形裁剪 之前上一篇文章中,我们介绍了直线段的裁 ...

  9. 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky

    接上文 计算机图形学 学习笔记(三):多边形的区域填充算法,反走样算法 光栅图形学算法 本文主要讲解直线裁剪算法. 裁剪 使用计算机处理图形信息时,计算机内部存储的图形往往比较大,而屏幕显示的知识图形 ...

  10. 计算机图形学学习笔记——Whitted-Style Ray Tracing(GAMES101作业5讲解)

    计算机图形学学习笔记--Whitted-Style Ray Tracing GAMES101作业5讲解 遍历所有的像素生成光线 光线与平面求交 遍历所有的像素生成光线 关于作业五中如何遍历所有的像素, ...

最新文章

  1. 数据挖掘应用于流失分析的整体思路
  2. LoadRunner解决超时错误
  3. 先进先出算法(FIFO)——页面置换
  4. [简单题]自定义取余(三种解法)C++实现
  5. 搜索算法(三)--DFS/BFS求解宝岛探险问题(JAVA )
  6. 9203复习小结 消息框 新窗体
  7. easyui下拉选项多怎么解决_30岁以后皮肤松弛皱纹越来越多怎么办?这组瑜伽帮你解决...
  8. PotPlayer优化与最高画质设置(最强本地播放器)
  9. HTTP代理socks5哪个快
  10. 2 分钟玩转 Apizza,轻量级 API 工具
  11. stm8s103头文件
  12. CGAN和InfoGAN理解
  13. jmeter压测学习15-setUp线程组实现用户先登录
  14. 安卓10刷Magisk并安装JustTrustMe
  15. WIN 10 挂载分区之diskpart工具
  16. boost::string_algo库详解
  17. python实现打卡
  18. black duck 下载_如何创建安全的Java软件:与Black Duck的Tim Mackey交谈
  19. html实现画板的基本操作,javascript实现画板功能
  20. 【SoapUI】SoapUI工具简介及安装

热门文章

  1. 微信小程序之在线任务发布与接单平台(2)
  2. 双月楼月饼荣获茂名在线月饼品鉴佳绩
  3. 使用Kaiju无组装计算宏基因组数据物种注释相对丰度
  4. 设计模式【5】-- 原型模式
  5. 动态规划C++实现--换钱的方法数(二)(动态规划及其改进方法)
  6. 电脑只有一个c盘怎么办?看我怎么一招解决!
  7. 印度行——印度软件公司的印象
  8. shp文件显示 c语言,上传并在地图中显示Shp文件
  9. 【Linux】在Xilinx平台上实现UVC Gadget(2)- 解决dwc3驱动bug
  10. 【推荐】两大APP与云账户红包SDK集成详情及Demon分享