gzmkshjsh 发表于 2006-3-20 08:35:49

[VBA函数]:求助,如何在VBA中利用三点绘制圆弧?

如何在VBA中利用三点,即起点、中点、终点绘制圆弧,并返回圆心坐标?
请高手指点!!!!

thooper 发表于 2006-6-1 10:41:03

1. 选取三点startPt, midPt, endPt
2. 画直线line1 (startPt-midPt )    line2 (midPt-endPt)
3, 将直线line1 line2以他们的中点为基点各自Rotate90度
4利用IntersectWith求出两直线的交点,即圆弧的圆心
5再计算出radius startAngle endAngle
6addArc

呵呵 不知道这样麻烦不麻烦?希望有更简单的方法!

cupidvenus 发表于 2006-6-3 15:33:03

假定三点不共线,即三点构成三角形,三点坐标分别为
startPt(x1,y1),midPt(x2,y2),endPt(x3,y3)
则圆心坐标为O((x1+x2+x3)/3,(y1+y2+y3)/3)
然后就可画出弧了

125740513 发表于 2006-6-25 11:58:34

3楼的要简便一些。可以参考cad自身的命令来实现

Victorwu 发表于 2006-8-12 18:19:02

3楼的公式是错误的

其实只要判断一下3点不在一条直线上,然后调用cad命令arc三点画弧画出弧线,在查看最后一个图素object.Center即可。
页: [1]
查看完整版本: [VBA函数]:求助,如何在VBA中利用三点绘制圆弧?