zhanghua0813
路人甲
路人甲
  • 注册日期2006-03-31
  • 发帖数19
  • QQ
  • 铜币163枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1431回复:2

求问mo中怎么实现画正多变形

楼主#
更多 发布于:2006-07-13 21:34
<P>我试着做了一下,但是在根据两点坐标求其他点坐标时总有问题,不知道有没有那位大侠有关于这方面的代码啊</P>
喜欢0 评分0
zhanghua0813
路人甲
路人甲
  • 注册日期2006-03-31
  • 发帖数19
  • QQ
  • 铜币163枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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>
举报 回复(0) 喜欢(0)     评分
lhfde
路人甲
路人甲
  • 注册日期2006-05-23
  • 发帖数51
  • QQ
  • 铜币243枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部