Barycentric Coordinates
重心坐标
插值Interpolation
给一段距离,再选取这段距离上的一个区间并记刻度
重心坐标的引入
模型可以使用许多三角形来表示

刚才举例中的在一段距离上插值两个颜色应用到三角形上该如何表示呢?答案是使用重心坐标,重心坐标就是在一个三角形内使用三个数值 (

用一种直观的感受,我们小时候应该玩过一种玩具,一个透明的塑料盖子里有一个迷宫,里面有一个小铁球,我们通过前后左右摆动来控制小铁球走出迷宫

将这个迷宫想象成三角形,当我们摇动时,这个小球就会前往这个三角形中不同的地方,是不是就是"重心"再往那个地方偏呢在,在数学中也是一样的道理。
现在我们向左下移动,那么这个小球就会"铛"的一声,停靠在左下方

那么就像所有的"重心"都落在了左下方这个
如何计算这个坐标


那么之前的那个例子通过计算就是小三角形

首先是三角形上的法线计算,使用cross_product叉乘
求得法线 (两个向量叉乘得第三个向量且垂直于这两个向量) 为什么要计算法线呢?因为计算法线与求面积有关,让我们继续往下看,在我们求得法线之后,我们就有三角形的面积为
这里为什么面积是

是叉乘的模长计算公式,其中
我们发现,计算叉乘的过程正好是计算三角形面积的过程,只不过少除以了一个
计算其中两个小三角形的面积和整个三角形的面积,其中
①的面积为
②的面积为
整个三角形的面积为
则我们最终有
注:计算方法不唯一,还有一些其它的计算方法