阅读:1558回复:2
求问mo中怎么实现画正多变形
<P>我试着做了一下,但是在根据两点坐标求其他点坐标时总有问题,不知道有没有那位大侠有关于这方面的代码啊</P>
|
|
1楼#
发布于:2006-07-13 21:37
<P>这是我试着编一个正三角形的代码,pta,ptb为已知的两点,d为正三角形的边长,同时也是pta,ptb之间的距离.</P>
<P>Public Function GetVercPoint(ByVal pta As MapObjects2.Point, ByVal ptb As MapObjects2.Point, d As Double) As MapObjects2.Point<BR> Dim pt As MapObjects2.Point<BR> Set pt = New MapObjects2.Point<BR> Dim a, b, C As Double<BR> Dim ptc As New MapObjects2.Point<BR> Dim k As Double<BR> a = pta.Y - ptb.Y<BR> b = ptb.X - pta.X<BR> If b = 0 Then Exit Function<BR> C = (pta.X * ptb.Y) - ptb.X * pta.Y<BR> ptc.X = (pta.X + ptb.X) / 2<BR> ptc.Y = (pta.Y + ptb.Y) / 2<BR> k = (pta.Y - ptb.Y) / (pta.X - ptb.X)<BR> If k = 0 Then<BR> pt.X = (Sqr(3) * d) / 2<BR> pt.Y = 0<BR> Else<BR> <BR> pt.X = (Sqr(3) * k * d) / (2 * Sqr(1 + k * k))<BR> pt.Y = ptc.Y + ptc.X / k - pt.X / k<BR> End If<BR> <BR> Set GetVercPoint = pt<BR>End Function<BR></P> |
|
2楼#
发布于:2006-07-31 22:56
<P><a href="http://www.re.ecnu.edu.cn/upload/2006_03/06032322072616.ppt" target="_blank" >http://www.re.ecnu.edu.cn/upload/2006_03/06032322072616.ppt</A></P>
<P>这里有详细的vb教程和源码,很多功能模块估计都可以照搬拉.</P> |
|