用VB6创建多边形对象

用VB6创建多边形对象,vb6,drawing,Vb6,Drawing,我正在开发一个应用程序,在那里我需要能够绘制平面图,但我需要绘制的线或多或少作为对象。例如,我需要能够单击一条线,或者如果它与一个房间相关联,则可以高亮显示房间中的所有线 我不需要代码样本,但也有一些指导或想法 提前谢谢你 创建诸如Line、Room等类 文件室包含一个行列表 直线具有draw()并包含(x为整数,y为整数)方法 要实施的内容包括: 你可以算出给定起点和终点的直线方程。然后可以使用公式distance=abs(a*x0+b*y0+c)/sqrt(a*a+b*b)计算点(x0,y0

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

我不需要代码样本,但也有一些指导或想法


提前谢谢你

创建诸如Line、Room等类

文件室包含一个行列表

直线具有draw()并包含(x为整数,y为整数)方法

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


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

有关贝塞尔曲线,请参见:

例如圆圈,它是最简单的


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

添加更多细节并展示您迄今为止所做的尝试将是一件好事。您可以自己尝试一下,并在需要实际代码帮助时来到这里。非常感谢您的想法!看起来会用到它。只有一件事尚不清楚-曲线如何?例如,半圆,类似于直线,曲线有一个等式描述它们的选项。例如,Beziers和B样条曲线有相应的方程式。使用这些方程式,您可以绘制它们并计算鼠标与它们之间的距离。例如,对于圆,这是最简单的。
鼠标与周长的距离=abs(半径-sqrt((mouseX-centerX)^2+(mouseY-centerY)^2)