图形变换: 设计三个图形(三角形, 正方形, 正五边形),实现循环地绕图形中心点旋转并动态地移动。
能否把源码请发送到[email protected]
谢谢

解决方案 »

  1.   

    还没搞定,算了给你写了一个,记得给分啊。
    Private Type Point
        x As Long
        y As Long
    End Type
    Const PI = 3.1415926
    Const RADII = 800
    Dim CenterPoint As Point
    Dim lngAngle&Private Sub Form_Load()
        CenterPoint.x = Me.Width / 2
        CenterPoint.y = Me.Height / 2
    End SubPrivate Function getPoint(ByVal angle&) As Point
        getPoint.x = Cos(PI * angle / 180) * RADII + CenterPoint.x
        getPoint.y = Sin(PI * angle / 180) * RADII + CenterPoint.y
    End FunctionPrivate Sub DrawAngle(ByVal Boders&, ByVal angle&)
        Dim lngCnt&, DrawAngle&
        
        DrawAngle = angle
        For lngCnt = 1 To Boders
            Me.Line (getPoint(DrawAngle).x, getPoint(DrawAngle).y)-(getPoint(AngleAdd(DrawAngle, 360 / Boders)).x, getPoint(AngleAdd(DrawAngle, 360 / Boders)).y)
            DrawAngle = AngleAdd(DrawAngle, 360 / Boders)
        Next
    End SubPrivate Function AngleAdd&(ByVal angle, ByVal Add&)
        AngleAdd = (angle + Add) Mod 360
    End FunctionPrivate Sub Draw(ByVal angle&)
        DrawAngle 3, angle
        DrawAngle 4, angle
        DrawAngle 5, angle
    End SubPrivate Sub Timer1_Timer()
        CenterPoint.x = Me.Width / 2
        CenterPoint.y = Me.Height / 2
        
        Me.Cls
        Draw lngAngle
        lngAngle = AngleAdd(lngAngle, 1)
    End Sub
      

  2.   

    我调试成功了啊,而且不只正三到五边形,正三到N边形都可以转啊.
    Private Sub Draw(ByVal angle&)
        DrawAngle 3, angle
        DrawAngle 4, angle
        DrawAngle 5, angle
    '只要加到下面就好
    '    DrawAngle 6, angle
    '    DrawAngle 7, angle
    '    DrawAngle 8, angle
    .......
    End Sub