wholin 发表于 2006-9-1 09:25:00

用什么方法得到图形中最近的两个点呢?

有什么好方法能实现:遍历图形后得到最近的两个点呢?

iq0050 发表于 2006-9-1 09:36:00

好象只能用遍历来判断,没有更简单的方法了.
dim colAllPoint as collection
dim P1 as variant
dim P2 as variant
dim minP1 as variant
dim minP2 as variant
dim i as integer
dim j as integer
dim minDis as double
minDis=65500
for i=1 to colAllPoint.count
    p1=colAllPoint.item(i)
    for j= i+1 to colallpoint.count
          p2=colAllPoint.item(j)
          ifminDis>sqr((p1(0)-p2(0))^2+(p1(1)-p2(1))^2) then
                minDis=sqr((p1(0)-p2(0))^2+(p1(1)-p2(1))^2)
                minP1=P1
                minP2=P2
         endif
   next j
next i
这个代码是假设你取到了所有的点集
代码是直接写在贴上的没测试,大概就是这个意思,不知道还有没有更简单的方法.能利用ACD内部功能的.全当抛砖了.
页: [1]
查看完整版本: 用什么方法得到图形中最近的两个点呢?