Games101笔记:几何(二):曲线

曲线

1、贝塞尔曲线
(1)目的:用一系列控制点定义曲线,如下图定义了起点为p0,终点为p3,且起始和结束切线为p0p1方向和p2p3方向,属于显式表示。
在这里插入图片描述
(2)生成方法:de Casteljau算法,枚举所有的t,递归计算t对应的位置,
在这里插入图片描述
计算得到的每个点都是给定点的线性组合:
在这里插入图片描述
贝塞尔曲线的性质:
在这里插入图片描述
第二条性质仅针对给定三个点。
第三条性质:对于给定点做仿射变换,变换后得到的贝塞尔曲线,一定和对原贝塞尔曲线上每个点做仿射变换后,再次得到的贝塞尔曲线一致。
第四条性质:凸包性质,指贝塞尔曲线一定在控制点构成的凸包内。

(3)逐段贝塞尔曲线
贝塞尔曲线的一个问题:控制点多时不好用控制点控制曲线的形状
在这里插入图片描述
因此采用逐段定义,每四个控制点定义一条贝塞尔曲线,带来一个问题就是要保证段与段之间的连续性,方法是将点拉到共线和控制点等距离。
C0连续:第一段终止点等于第二段起点
在这里插入图片描述

C1连续:
在这里插入图片描述

2、样条(Spline)曲线
经过所有控制点的曲线?
B样条曲线(basis splines):相当于贝塞尔曲线的扩展,不分段也能限制改变单个控制点影响的范围。

面的细分、简化、正则化

1、面的细分 Mesh subdivision
(1)Loop细分
前提所有网格都是三角形网格
在这里插入图片描述
(2)Catmul细分
对一般性情况(非三角形)的网格细分,经过一次catmul细分之后,所有非四边形面都会变成四边形面,会增加非四边形数目的奇异点(度不为4的点)。

2、面的简化 Mesh Simplification
当距离较远观察时,观察效果受面数影响变小,可以简化面数提高性能。
在这里插入图片描述
计算方法:
一种方法,边坍缩
在这里插入图片描述
计算方法:二次误差度量,找到距离平方之和最小的点,使“坍缩”对其他面造成的影响最小。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值