使用VB6创建多边形对象

时间:2013-06-17 08:37:38

标签: vb6 drawing

我正在开发一个应用程序,我需要能够绘制楼层平面图,但我需要绘制的线条或多或少作为对象。例如,我需要能够点击一条线,或者如果它与房间相关联,则突出显示房间中的所有线条。

我不需要编码样本,也需要一些指导或想法。

提前谢谢你!

1 个答案:

答案 0 :(得分:0)

创建Line,Room等类。

会议室包含一系列行。

Line有draw()并包含(x为整数,y为整数)方法。

实施包含: 您可以找出给定起点和终点的线的方程。然后你可以使用公式distance = abs(a * x0 + b * y0 + c)/ sqrt(a * a +)来计算点(x0,y0)与该线的距离(ax + by + c = 0) b * b) 如果距离为4像素或更小,那么contains应该为真。

类似于直线,曲线有一个描述它们的等式。 例如,Beziers和B样条具有相应的方程。 使用这些方程式,您可以绘制它们并计算出鼠标距离它们的距离。

对于Bezier曲线,请参阅: http://blog.gludion.com/2009/08/distance-to-quadratic-bezier-curve.html

圆圈例如它是最简单的。

distance = abs(radius - sqrt((mouseX - centerX)^2 + (mouseY - centerY)^2)