点到平面的投影算法备忘笔记
来源:互联网 发布:苹果mac输入法切换 编辑:程序博客网 时间:2024/05/20 00:12
已知一个平面,其上一点O(一般是中心点),平面法线N。平面外一点P,求P点在平面上的投影。
这个问题在解数学题的时候不需要多想,按照已知条件带入公式求值计算即可,到最后会化简成几个多项式,可以用多种方法求解。比较麻烦的是用编程的方法计算多项式是件很麻烦的事情,至少在下觉得写出来的代码不会太好看。
为了使解决问题的思路更适合变成代码,在设计变量上最好只使用一个变量。在这个问题中,可以通过一个变量就能表示出来的是P在法线N上的投影点P’。我们可以通过求得P’的坐标从而计算出P在平面上的投影。
P’ = O + k * N
使用向量点乘公式:a * b = |a| * |b| * cos<a,b>,可以得到:
P’P * P’O = | P’P | * |P’O| * cos<P’P, P’O>
= | P’P | * |P’O| * cos 90°
= 0
又 P’P = P - P’ = P - (O + N * k) = P - O - N * k
P’O = O + N * k - O = N * k
得 (P - O - N * k) * N * k = 0
又 P,O已知,代码中可以直接计算,可以设V = P – O, 并且k可以约去
得 (V – N * k) * N = 0
展开 <(V.x – N.x * k), (V.y – N.y * k), (V.z – N.z * k)> * <N.x, N.y, N.z> = 0
整理 k = (V.x * N.x + V.y * N.y + V.z * N.z) / N.x^2 + N.y^2 + N.z^2
又 N.x^2 + N.y^2 + N.z^2是N的长度的平方,N是法线,长度为1
得 k = V.x * N.x + V.y * N.y + V.z * N.z
使用上面的求P’的式子可以算出P’的坐标。把P在平面O上的投影记作P’’,则:
P’’ = O + P’P
- 点到平面的投影算法备忘笔记
- 点到平面的投影算法备忘笔记
- 计算空间点到平面的投影点坐标
- 计算空间点到平面的投影点坐标(代码)
- pcl 点投影到某个平面
- 一个点沿着某个方向投影到一个平面上的另一个点的矩阵
- 点到点法式平面投影点的计算
- 点到平面的距离
- 点到平面的距离
- 点到平面的距离
- 点到平面的距离
- 点到平面的距离
- 判断一个点是否在面域上(包括在面域的边上),都投影到XY平面上
- 平面中用到的公式(点到平面的距离、平面上的最近点)
- 点到平面的垂足
- 点到平面的距离公式
- 点到平面的距离公式推导
- 点到平面的距离公式推导
- MMU、BOOTP
- 通过AutoConfig实现Form Server配置文件的修改
- 码农笔记
- Hadoop/Hive简介
- 怎样把ArrayList转换成一个字符串数组?
- 点到平面的投影算法备忘笔记
- Linux文件的三个主要的修改时间方法
- Flash采集音频和视频发布到red5服务器
- sencha-touch1.1获得数据源中store的最大值
- 使用批处理生成简便的makefile为free pascal自动编译。
- libexosip 中的EXOSIP_REGISTRATION_NEW 被废除
- 网页转跳后禁止后退
- 蓄水池抽样
- 浅谈SIFT算法