明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1753|回复: 1

[公告]VBA精彩实例一书的更正

[复制链接]
发表于 2004-3-6 09:42:00 | 显示全部楼层 |阅读模式
前天一位读者提到,VBA精彩实例一书3.10一节中,计算点到直线距离的函数PtToLine有误,经测试确实存在,在此向广大读者道歉,并且附上新的代码: ' 计算两点之间的距离
Function Distance(Pt1, Pt2 As Variant) As Double
Distance = ((Pt1(0) - Pt2(0)) ^ 2 + (Pt1(1) - Pt2(1)) ^ 2) ^ 0.5
End Function ' 点到直线的距离
Private Function PtToLine(ByVal pt As Variant, ByVal ptStart As Variant, ByVal ptEnd As Variant) As Double
Dim a As Double, b As Double, c As Double, l As Double ' a、b、c为三点组成的三角形边长,l为周长的一半

' 计算三角形的边长
a = Distance(pt, ptStart)
b = Distance(pt, ptEnd)
c = Distance(ptStart, ptEnd)
l = (a + b + c) / 2

' 计算三角形面积
Dim area As Double
area = Sqr(l * (l - a) * (l - b) * (l - c))

' 根据(面积=(底*高)/2)计算点到直线距离
PtToLine = 2 * area / c
End Function 写的比较着急,如果有问题请大家多多指正。
发表于 2004-4-11 18:33:00 | 显示全部楼层
广告!!!


送你一个O
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 06:27 , Processed in 0.159231 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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