有哪位高手能帮小弟我解决以上三个画图有关问题

有谁能帮我解决以下三个画图问题?
本人想做一个程序,内容要包括1000多个多变型,我用画图来画,但由于那些多变型位置是随机的,因此有可能有多个多边型会重叠.
问题一:怎么用最快速的方法来画这一千多个多边型呢?
问题二:如果在程序中,我要选中其中一个多边型,我该如何判断位置呢?特别是当A的面积小于B,且A比B完全覆盖了,我该怎么才能选择到A这个多边型呢?
问题三:当我随意改变某一个多边型的大小或者位置时,我是否需要重新画所有的多边型,还是有更好的方法来只画我选中的内容呢?
以上三个问题,请各位帮忙解决,能解决一个是一个,谢谢!
------解决方案--------------------
帮顶
------解决方案--------------------
问题一:写一个加载Line的函数,用Line组成多边形;
Private Function drawLine(ByVal i As Integer, ByVal X1 As Double, ByVal Y1 As Double, ByVal X2 As Double, ByVal Y2 As Double)
Load Line1(i)
Line1(i).X1 = X1
 Line1(i).Y1 = Y1
 Line1(i).X2 = X2
  Line1(i).Y2 = Y2
    Line1(i).Visible = True
End Function

------解决方案--------------------
问题三:如果你是用Line组成的多边形.只要改变Line的位置就行了,不要都重画.
问题二最麻烦,你只能按Line的索引来操作每一条线,操作一个多边形有困难,试想一下屏幕上有1000多个多边形是什么情形.

------解决方案--------------------
可以考虑用Shape画多边形
------解决方案--------------------
第一,使用PolyLineTo进行绘图。
第二,使用BeginBegin、PolyLineTo、EndPath、PathToRegion建立多边形区域,然后通过PtInRegion、CombineRgn等函数判断多边形的相互关系和点与多边形的关系。
需要注意的是,上面两次提到PolyLineTo,这是因为在路径中,PolyLineTo并不会显示绘图结果,想要绘图结果,还得在路径外绘制一次,所以提到了两次。
------解决方案--------------------
感觉比较麻烦,楼主可不可以这样考虑?首先确定一个虚拟的圆,根据圆来将多边形的各个点的坐标计算出来再存入坐标数组,再将这个数组的内容赋值给MsChart控件,这样应该很快。
------解决方案--------------------
路过帮顶一下
------解决方案--------------------
友情Up..........

------解决方案--------------------
我觉得用vb的办法一下子画1千多个,还是挺慢的

如果能寻求其他办法最好了
------解决方案--------------------
直接上DX算了。又不是多复杂。

按次序填充多边形的顶点,然后DP就可以了。

不过要做到选择多边形的话,还得用一些算法。(如果仅仅是2维的,而且图像没有缩放的话,我觉得可以用Z测试来搞定)
------解决方案--------------------
还是DX吧,否则自己来的话,那就需要相当的算法基础了