明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3185|回复: 2

求空间一点在平面上的投影,非常感谢

[复制链接]
发表于 2008-12-4 13:46:00 | 显示全部楼层 |阅读模式
已知三点A(x1 y1 z1),B(x2 y2 z2),C(x3 y3 z3)确定一个平面,求点P(xp yp zp)在面ABC上的投影,及面ABC的过点P的垂线,谢谢!
发表于 2008-12-4 15:59:00 | 显示全部楼层
要是不怕麻烦,就按下面的步骤计算:
过A、B、C三点的平面方程为
((y2-y1)(z3-z1)-(y3-y1)(z2-z1))(x-x1)+((x3-x1)(z2-z1)-(x2-x1)(z3-z1))(y-y1)+((x2-x1)(y3-y1)-(x3-x1)(y2-y1))(z-z1)=0
那么过P点与ABC面垂直的直线方程为(两个等式)
(x-xp)/((y2-y1)(z3-z1)-(y3-y1)(z2-z1))=(y-yp)/((x3-x1)(z2-z1)-(x2-x1)(z3-z1))=(z-zp)/((x2-x1)(y3-y1)-(x3-x1)(y2-y1))
三式求出交点。
发表于 2008-12-4 16:03:00 | 显示全部楼层

nonsmall已经实现的算法:

根据棱锥体积公式:

V=(1/6)צx1x2x3x4¦¦y1y2y3y4¦¦z1z2z3z4¦

其中四个点的坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),(x4,y4,z4)简单的说就任意取三个点为底,1/3(底*高)就是体积附一个三角型面积公式

上面是个4阶行列式 展开后得到体积

根据棱锥体积和平面ABC的面积(没记错的话是海伦公式)求高度h

海伦公式:利用两点之间距离公式,求出三角形的三边长a,b,c后,令p = (a+b+c)/2。再套入以下公式就可以求出三角形的面积S :

S = sqrt(p*(p-a)*(p-b)*(p-c))

根据高度h 点P ABC计算获得垂足即可

                          |1         1       1       1|
V=(1/6)   ×          |x1     x2     x3     x4|
                          |y1     y2     y3     y4|
                          |z1     z2     z3     z4|
其中四个点的坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),(x4,y4,z4)

简单的说就任意取三个点为底,1/3(底*高)就是体积

附一个三角型面积公式:

S=(1/2)*       |   1     1     1|
                  |x1   x2   x3|
                  |y1   y2   y3|

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-28 02:13 , Processed in 0.169830 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表