7.物体的几何表示——细分曲面

本文详细介绍了细分曲面的概念及其作用,包括细分曲面如何通过Catmull-Clark和Loop细分算法实现光滑效果。文章还探讨了细分曲面的不同表示方法,如Independent faces、Vertex and face tables、Adjacency lists以及Winged-Edge,帮助读者深入理解细分曲面的原理和技术。
摘要由CSDN通过智能技术生成

♥,.*,.♥,.*,.♥,.*,.♥,.*♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥♥,.*,.♥,.*,.♥,.*,.♥,.*♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥

目录

1.细分曲面的作用

2.细分曲线、细分曲面原理

3.细分曲面算法——Catmull-Clark细分

4.细分曲面的算法——Loop细分

5.细分曲面表示——Independent faces

6.细分曲面表示——Vertex and face tables

7.细分曲面表示——Adjacency lists

8.细分曲面表示——Winged-Edge

♥,.*,.♥,.*,.♥,.*,.♥,.*♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥♥,.*,.♥,.*,.♥,.*,.♥,.*♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥,.*,.♥

1.细分曲面的作用

使得曲面变得光滑。

2.细分曲线、细分曲面原理

每次细分,在曲线边上插入一个新的顶点,随着插入顶点的增加,折线逐渐变成了光滑的曲线。曲面细分同理。

3.细分曲面的算法——Catmull-Clark细分

Catmull-Clark是一种四边形网格的细分法则。每个面计算生成一个新的顶点。每条边计算生成一个新的顶点,同时每个原始点更新位置。

更新规则如下:

细分新的曲面,先求出新的曲面顶点:

Face point :位于原来多边形面里的新顶点

Edge point:在原来的边中点附近的新顶点

New vertex point:对原来的顶点进行调整得到的新顶点

计算法则为:

Face point:给定一个面F,有顶点v1,v2,...,vn,则新的Face point,VF的计算公式为:

v_{F}=\sum_{i=1}^n\frac{1}{n}v_{i}

Edge point:假设一条边E的两个顶点为v和w,还有相邻的两个面为F1和F2,则对应的新顶点VE为:

v_{E}=\frac{v+w+v_{F_{1}}+v_{F_{2}}}{4}其中,VF1 和VF2在Face point中已经求出来了。

New Vertex point:给定一个顶点v。Q是与v相邻的多边形的face point的平均值。v与n条边相邻,R是与v相邻的边的中点的平均值,则调整后的新顶点的位置为:

v^{'}=\frac{1}{n}Q+\frac{2}{n}R+\frac{n-3}{n}v

得到新的顶点后,就可以计算边:

每个面顶点(Face point)VF与包围它的边对应的边顶点(Edge point)VE相连。

每个顶点调整后得到的新顶点(New Vertex point)v'与它相邻的边上的点(Edge point)VE相连。

示意图:

CC细分算法

例子:

对四边形进行细分。

四边形的四个顶点分别为v0,v1,v2,v3

(1)网格内部F顶点位置

v=(v0+v1+v2+v3)/4

(2)网格内部V顶点位置

设内部顶点v0的相邻点为v1,v2,...v2n,则该顶点更新后的位置为&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值