找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 4854|回复: 0

三维空间某点到平面距离的公式

[复制链接]
发表于 2014-6-19 14:57:55 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
Formula.gif
C语言表达:
  1. fabs(A*x+B*y+C*z+D)/sqrt(A*A+B*B+C*C)
复制代码
VB语言表达:
  1. Abs(A*x+B*y+C*z+D)/Sqr(A*A+B*B+C*C)
复制代码
汇编表达:假定A、B、C、D、x、y、z都指向double双精度浮点数类型的变量
  1. fld     dword[A]   ;载入A
  2. fmul    qword[x]   ;乘以x
  3. fld     qword[B]   ;载入B
  4. fmul    qword[y]   ;乘以y
  5. fadd                ;得到A*x+B*y
  6. fld     qword[C]   ;载入C
  7. fmul    qword[z]   ;乘以z
  8. fadd                ;得到A*x+B*y+C*z
  9. fadd    qword[D]   ;得到A*x+B*y+C*z+D
  10. fabs                ;取绝对值得到fabs(A*x+B*y+C*z+D)
  11. fld     qword[A]   ;载入A
  12. fmul    st0         ;乘以A
  13. fld     qword[B]   ;载入B
  14. fmul    st0         ;乘以B
  15. fadd                ;得到A*A+B*B
  16. fld     qword[C]   ;载入C
  17. fmul    st0         ;乘以C
  18. fadd                ;得到A*A+B*B+C*C
  19. fsqrt               ;开平方根得到sqrt(A*A+B*B+C*C)
  20. fdiv                ;最终得到fabs(A*x+B*y+C*z+D)/sqrt(A*A+B*B+C*C)的计算结果。
  21. ;fst    qword[Result];存储运算的结果到内存
复制代码
回复

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-21 21:27 , Processed in 0.045625 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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