问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

图形学中平面的表示方法

创作时间:
作者:
@小白创作中心

图形学中平面的表示方法

引用
CSDN
1.
https://blog.csdn.net/m0_37763682/article/details/105334154

在计算机图形学中,平面的表示方法是基础且重要的概念。本文将详细介绍几种常见的平面表示方法,包括截距式、点法式、一般式、法线式以及其他方式(法线+空间内两点)。这些知识对于理解和实现图形学算法具有重要意义。

简述

“平面方程”是指空间中所有处于同一平面的点所对应的方程,其一般式形如Ax+By+Cz+D=0。(解释和前几种方法均来自百度百科)百度百科

表示方法

截距式

  • 设平面方程为Ax+By+Cz+D=0,若D不等于0,取a=-D/A,b=-D/B,c=-D/C,则得平面的截距式方程:x/a+y/b+z/c=1
  • 它与三坐标轴的交点分别为P(a,0,0),Q(0,b,0),R(0,0,c),其中,a,b,c依次称为该平面在x,y,z轴上的截距。

点法式

  • n为平面的法向量,n=(A,B,C),M,M’为平面上任意两点,则有n·MM’=0, MM’=(x-x0,y-y0,z-z0),
    从而得平面的点法式方程:A(x-x0)+B(y-y0)+C(z-z0)=0
  • 三点求平面可以取向量积为法线
    任一三元一次方程的图形总是一个平面,其中x,y,z的系数就是该平面的一个法向量的坐标。
    两平面互相垂直相当于A1A2+B1B2+C1C2=0
    两平面平行或重合相当于A1/A2=B1/B2=C1/C2
    点到直线的距离公式:

一般式

  • Ax+By+Cz+d=0

法线式

  • xcosα+ycosβ+zcosγ=p ,其中cosα、cosβ、cosγ是平面法矢量的方向余弦,p为原点到平面的距离。

其他方式表示平面

法线+空间内两点

  • 如下图 其中A,B分别是空间上两个点,N为该平面的法向量,D为平面到坐标原点的距离。
  • 平面方程:
  • 平面示意图:
  • 关于该方程的推导:
    N·P = N·(P-(0,0,0)) =Plane.distence(C# 中原点到平面的距离求法)

补充:表示三角面片的方法(区域)

  • 本方法出自论文《Fast Minimum Storage Ray Triangle Intersection》
  • 三角形参数方程,记三角形的三个顶点为v0,v1,v2,u,v,分别是v1,v2的权重,并满足u,v>0,且u+v≤1.
  • 方程表示为:(T(u,v)表示三角形内一点)
    T(u,v) = (1 - u - v)·v0 + u·v1 + v·v2
    上面的方程是三角形及其内部所有点的方程,因为三角形内任意一点都可以理解为从顶点V0开始,沿着边V0V1移动一段距离,然后再沿着边V0V2移动一段距离,然后求他们的和向量。至于移动多大距离,就是由参数u和v控制的。
    论文及 射线与三角面片是否接触的检测代码(c#)见添加链接描述
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号