Unity 中确定唯一平面

前言

  • 基于图形学中对平面的定义,可知定义平面的5种方法(详细描述),而在Unity中共三种确定平面的方法

Plane结构

  • 三种构造函数
    //平面内一个+平面法向量
    public Plane(Vector3 inNormal, Vector3 inPoint);
    //平面法向量+长度
    public Plane(Vector3 inNormal, float d);
    //平面内任意不共线的三个点
    public Plane(Vector3 a, Vector3 b, Vector3 c);
    
  • 关于public Plane(Vector3 inNormal, float d),这个应该稍微难懂,其中d表示平面距离原点(0,0,0)的距离

求平面的法向量

  • 已知平面内非同一直线上的三个点P1、P2、P3,则法向量计算公式为
    N → = P 1 P 2 → × P 1 P 3 → \overrightarrow{N } =\overrightarrow{P1 P2} \times \overrightarrow{P1 P3} N =P1P2 ×P1P3

  • 代码:

    Vector3 n = Vector3.Cross(p2 - p1 , p3 - p1);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值