Games101 计算机图形学课程笔记: Lecture 11 Geometry 2 (Curves and Surfaces)

显示表示

表示方法

点云

密集的点能形成一个面。
特点:

  • 能够十分简单的表示任何几何形体
  • 对于大量数据的点集合很有用
  • 通常被转换为多边形的面
  • 在采样不足的区域很难绘制出图形

Polygon Mesh

应用最广泛的一种方式。
特点:

  • 存储顶点和面的信息,面通常是三角形或者四边形
  • 更容易处理和采样
  • 使用的数据结构更加复杂

几何体(模型)可使用obj文件进行存储
其中,v表示每个顶点的坐标,vt表示纹理坐标,vn表示顶点的法向量,f是一个面,使用索引调用以上三者(顶点索引 纹理索引 法线索引)。

曲线

贝塞尔曲线 Bézier Curves

p 0 p_0 p0 p 1 p_1 p1 p 2 p_2 p2 p 3 p_3 p3为控制点,其中 p 0 p_0 p0 p 3 p_3 p3为起点和终点。起点和终点的切线方向为 p 0 p 1 p_0p_1 p0p1 p 3 p 2 p_3p_2 p3p2

绘制贝塞尔曲线

贝塞尔曲线可以使用递归的方法画出:

代数表示

曲线上的点是所有控制点的一个线性组合,公式如下:

贝塞尔曲线属性

  • 第一个控制点为曲线起点,最后一个控制点为曲线终点,曲线一般不经过其他控制点。
  • 最开始的两个控制点和最后的两个控制点决定曲线起点和终点的切线方向。
  • 用控制点绘制曲线后进行仿射变换和先对控制点进行仿射变换后绘制曲线得到的结果相同。
  • 凸包性质,画出的曲线在所有控制点围成的凸包内部。

分段贝塞尔曲线 Piecewise Bézier Curves

当有较多控制点时,绘制出的曲线无法体现出控制点的偏移幅度。

当控制点十分多的时候再用贝塞尔曲线,得到的曲线就难以达到我们想要的标准,于使引入了分段贝塞尔曲线。
分段贝塞尔曲线通常使用四个控制点定义一段曲线,最终将这些曲线连接。

分段贝塞尔曲线的连续性

分段贝塞尔的连续性有两种:

  • C 0 C_0 C0连续,即上一段曲线的终点时下一段曲线的起点,这种情况进满足曲线的连接,不要求连接点处的切线连续。
  • C 1 C_1 C1连续,在连接处切线连续,即可导。如下图,中间红点左右是两段曲线,当左右两边的控制点在同一条直线上且与中间红点的距离相等时,即可满足可导。

样条曲线 Spline

一个连续的曲线由一系列的控制点控制,并且在曲线上的任意一点都满足连续性。可以完成局部修改,无需分段。
本质上也是控制点的加权值,但基函数不同。

贝塞尔曲线的缺点:

  • 当修改一个控制点时,会导致整个曲线发生变化

曲面

贝塞尔曲面

先在一个方向上绘制出贝塞尔曲线,再在另一个方向上绘制曲线。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值