计算直线与平面交点的JavaScript脚本代码
来源:互联网 发布:mac完全卸载maya 编辑:程序博客网 时间:2024/06/11 09:59
已知直线过点 m(x_m, y_m, z_m ), 其方向向量为 V_l( vl_x, vl_y, vl_z ).
平面过点 n(x_n, y_n, z_n), 法线方向为 V_p( vp_x, vp_y, vp_z ).
直线的参数方程为
x = x_m + vl_x * t
y = y_m + vl_y * t
z = z_m + vl_z * t
平面方程为:
vp_x * (x - x_n) + vp_y * (x - x_n) + vp_z * (x - x_n) = 0
将直线参数方程和平面方程联立求解得
t = ( ( x_n - x_m ) * vp_x + ( y_n - y_m ) * vp_y + ( z_n - z_m ) * vp_z )
/ ( vp_x * vl_x + vp_y * vl_y + vp_z * vl_z )
平面过点 n(x_n, y_n, z_n), 法线方向为 V_p( vp_x, vp_y, vp_z ).
直线的参数方程为
x = x_m + vl_x * t
y = y_m + vl_y * t
z = z_m + vl_z * t
平面方程为:
vp_x * (x - x_n) + vp_y * (x - x_n) + vp_z * (x - x_n) = 0
将直线参数方程和平面方程联立求解得
t = ( ( x_n - x_m ) * vp_x + ( y_n - y_m ) * vp_y + ( z_n - z_m ) * vp_z )
/ ( vp_x * vl_x + vp_y * vl_y + vp_z * vl_z )
将 t 带入直线方程中,就可求得交点坐标。
////// 计算直线与平面交点的JavaScript脚本代码 // 参考http://blog.csdn.net/abcjennifer/article/details/6688080//function CalPlaneLineIntersectPoint( planeVector, planePoint, lineVector, linePoint) { var returnResult = Array(); var vp1, vp2, vp3, n1, n2, n3, v1, v2, v3, m1, m2, m3, t,vpt; vp1 = planeVector[0]; vp2 = planeVector[1]; vp3 = planeVector[2]; n1 = planePoint[0]; n2 = planePoint[1]; n3 = planePoint[2]; v1 = lineVector[0]; v2 = lineVector[1]; v3 = lineVector[2]; m1 = linePoint[0]; m2 = linePoint[1]; m3 = linePoint[2]; vpt = v1 * vp1 + v2 * vp2 + v3 * vp3; //首先判断直线是否与平面平行 if (vpt == 0) { return returnResult ; } else { t = ((n1 - m1) * vp1 + (n2 - m2) * vp2 + (n3 - m3) * vp3) / vpt; returnResult[0] = m1 + v1 * t; returnResult[1] = m2 + v2 * t; returnResult[2] = m3 + v3 * t; } return returnResult; }
0 0
- 计算直线与平面交点的JavaScript脚本代码
- 空间直线与平面的交点
- 求空间直线与平面的交点
- 三维空间中直线与平面的交点
- 空间直线与平面的交点
- 求直线与平面的交点
- 空间直线与平面的交点
- 计算射线与平面的交点
- 3D数学--空间直线与平面的交点
- 计算几何模板补充(三维空间体积、平面、直线、向量相关计算。附上hdu4741,求异面直线的最短距离与交点)
- HDU 4741 Save Labman No.004 (异面直线距离&直线与平面的交点)
- 计算直线的交点数
- 计算直线的交点数
- 计算直线的交点数
- hdu 计算直线的交点
- 计算直线的交点数
- 计算直线的交点数
- 计算直线的交点数
- 如何查看JDK源码
- 枚举类型
- Spring如何实现自动依赖注入-------autowire
- 从主机名到宽字符
- Redis常用的五种数据类型
- 计算直线与平面交点的JavaScript脚本代码
- jQuery——可见性筛选选择器
- 利用VS 2012更新表
- MySQL实战(三)索引的注意事项
- Android---判断 网络连接
- 爆炸啦!win10或将无人使用!!!
- Android获取到手机信号强度信息后传回给unity
- Java 递归实现 “5x5魔方阵” 不可行
- 卷积神经网络