程序的目的如果是渲染,那么就不存在需要判断是否共面的逻辑。
共不共面,2个三角形都需要走图形管线进行渲染。如果共面会造成渲染结果近似,2个三角形分别渲染的结果也是近似的。
换一种说法,在浮点数领域里面,没有等于的说法,判断两个浮点数所谓『相等』需要用:abs(A-B)< Epsilon
换个方法理解,在计算机的眼里,没有绝对相等的2个浮点数,也就没有所谓『共面』的2个三角形。
程序的目的如果是判断2个三角形是否共面,那是另外一种范畴。
想深入了解,建议看完基础的图形渲染管线的原理,再来讨论。
目前问的问题还是过于外行,图形学还是有技术门槛的,不是问几句就可以了解的。
【 在 seeeU 的大作中提到: 】
: 谢谢
: 那程序中该如何判断n个点(n>3)是否是共面的呢?GPU编程实现不了的话,是不是得在CPU程序中判断这n个点的坐标?比如对任意三个向量做混合积,看行列式是否为0?
: 还有如果n个点的“多边形”不共面?送到GPU里,还是会显示出来吧?只不过是被拆成一个个三角形,还是不共面也会按照实际坐标把这个所谓的“多边形”显示出来?
: ...................
--
FROM 124.127.210.*