1。已知三角形顶点坐标为(45,45)、(100,10)、(180,50)编写一个平移程序使三角形平移,平移量自定。
2。编写一个旋转程序,用上题的三角形绕坐标原点转360度,要10度留下一个图形!麻烦大家了,要全部的源程序!有EXE的最好了!
用VB,VC都行,只要能编译出来,有原代码就行!!我结帖率是100%啊,希望大家都来帮我啊,很急的26号之前一定得搞定得!
这写浪费版面不方便得话,发我邮箱里[email protected]
我一定把分附上,分数不够可以在开帖加分,我有5000分呢!要多少给多少

解决方案 »

  1.   

    1.问题(看看能不能满足你的要求)
    窗体放个Line数组,再放一个Timer
    Option Explicit
    Dim mlngXa As Long, mlngYa As Long, mlngXb As Long, mlngYb As Long, mlngXc As Long, mlngYc As LongPrivate Sub Form_Load()
        mlngXa = 45: mlngYa = 45: mlngXb = 100: mlngYb = 10: mlngXc = 180: mlngYc = 50
        ShowLines mlngXa, mlngYa, mlngXb, mlngYb, mlngXc, mlngYc
    End Sub
    Private Sub ShowLines(lngXa As Long, lngYa As Long, lngXb As Long, lngYb As Long, lngXc As Long, lngYc As Long)
        With Line1(0)
            .X1 = lngXa
            .Y1 = lngYa
            .X2 = lngXb
            .Y2 = lngYb
        End With
        With Line1(1)
            .X1 = lngXb
            .Y1 = lngYb
            .X2 = lngXc
            .Y2 = lngYc
        End With
        With Line1(2)
            .X1 = lngXc
            .Y1 = lngYc
            .X2 = lngXa
            .Y2 = lngYa
        End With
    End SubPrivate Sub Timer1_Timer()
        mlngXa = mlngXa + 10
        mlngXb = mlngXb + 10
        mlngXc = mlngXc + 10
        ShowLines mlngXa, mlngYa, mlngXb, mlngYb, mlngXc, mlngYc
    End Sub
      

  2.   

    第二题,很完整
    Private Sub Form_Load()
        Dim a As Double
        Dim b As Double
        Dim c As Double
        
        Dim la As Double
        Dim lb As Double
        Dim lc As Double
        
        Dim x1 As Double, y1 As Double
        Dim x2 As Double, y2 As Double
        Dim x3 As Double, y3 As Double
        
        Dim i As Long, j As Long
        
        a = Atn(45 / 45)
        b = Atn(10 / 100)
        c = Atn(50 / 180)
        
        la = Sqr(45 * 45 + 45 * 45)
        lb = Sqr(100 * 100 + 10 * 10)
        lc = Sqr(180& * 180& + 50 * 50)
        
        Me.AutoRedraw = True
        Me.ScaleMode = 3
        Me.Height = Screen.Height
        Me.Width = Screen.Height
        Me.Show
        DoEvents
        
        Me.Scale (-200, 200)-(200, -200)
        
        For i = 0 To 35
            x1 = la * Cos(a + i * 2 * 3.14159265 / 36)
            y1 = la * Sin(a + i * 2 * 3.14159265 / 36)
            
            
            x2 = lb * Cos(b + i * 2 * 3.14159265 / 36)
            y2 = lb * Sin(b + i * 2 * 3.14159265 / 36)
            
            x3 = lc * Cos(c + i * 2 * 3.14159265 / 36)
            y3 = lc * Sin(c + i * 2 * 3.14159265 / 36)
            
            Me.Line (x1, y1)-(x2, y2)
            Me.Line (x1, y1)-(x3, y3)
            Me.Line (x3, y3)-(x2, y2)
            For j = 1 To 50000
                    DoEvents
            Next j
        Next i
    End Sub