明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7143|回复: 5

求空间一点在平面上的投影,要几何算法

[复制链接]
发表于 2008-12-4 13:50:00 | 显示全部楼层 |阅读模式

已知三点A(x1 y1 z1),B(x2 y2 z2),C(x3 y3 z3)确定一个平面,求点P(xp yp zp)在面ABC上的投影,及面ABC的过点P的垂线,谢谢!

要解析几何表达式

发表于 2008-12-4 15:46:00 | 显示全部楼层

去基础应用里版块  有专门的几何算法

发表于 2008-12-4 15:58: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计算获得垂足即可

----------------------------------------

这东西怎么不去算法区问呢?

发表于 2008-12-4 16:00:00 | 显示全部楼层
                |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|
发表于 2008-12-4 16:00:00 | 显示全部楼层
                          |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|
发表于 2008-12-4 16:07:00 | 显示全部楼层
根据3点,定一个UCS,再将给定的点从WCS转到UCS,置z为0,再转回WCS,就得到给定点在由3点确定的平面上的投影点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-30 05:25 , Processed in 0.167973 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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