点到平面的距离公式【转】
2016-01-27 10:00
302 查看
准备知识
平面的一般式方程
Ax +By +Cz + D = 0其中n = (A, B, C)是平面的法向量,D是将平面平移到坐标原点所需距离(所以D=0时,平面过原点)
向量的模(长度)
给定一个向量V(x, y, z),则|V| = sqrt(x * x + y * y + z * z)向量的点积(内积)
给定两个向量V1(x1, y1, z1)和V2(x2, y2, z2)则他们的内积是V1V2 = x1x2 + y1y2 + z1z2
点到平面的距离
有了上面的准备知识,则求点到直线的距离不再是难事,有图有真相如果法相量是单位向量的话,那么分母为1
ORGE中的实现
顺便看一下Ogre中的实现Real Plane::getDistance (const Vector3& rkPoint) const
{
return normal.dotProduct(rkPoint) + d;
}
可见Ogre默认法相量为单位向量,且没有对结果取绝对值,根据注释,当点与法相量的方向在同一侧时,结果为正,否则为负。
相关文章推荐
- hdu 5613 /BC 69D Baby Ming and Binary image
- jQuery学习之旅 9 动画效果
- pom.xml中各个标签 的意思
- 2015年你到底错过了什么?!(有彩蛋!)
- 白书练习 周期串
- iOS开发--开发细节 (系统cell)
- 用PowerMock mock static方法
- apache 安装mod_rewrite
- 直线和平面的交点【转】
- Android 返回键与对话框的处理
- css3 学习小结
- Mac上的抓包工具Charles-破解版
- System.out.println与System.err.println的区别
- Python之控制台输入密码的方法
- 让具有导航栏的界面滑动返回
- Android崩溃后重启App心得
- 获取浏览器Plugin【插件】
- 系统头文件不小心被修改
- 组态软件在配套设备中的应用
- sentos6.5重启vmware服务及命令启动虚拟机