|  | 		    
					
        
         
          
         
	
          | |  | [vb.net] Rotation af et punkt?? Fra : Peter Jensen
 | 
 Dato :  12-10-02 13:37
 | 
 |  | Hej!
 I vb.net har jeg brug for at rotere et punkt, som tegnes i en picturebox.
 Dog kan jeg tilsyneladende ikke få formlen rigtig. Det vedlagte eksempel
 skulle gerne tegne punkter fra 0 til 90 grader i en cirkel, men istedet
 bliver punkterne fordelt hele cirklen rundt. Hvad gør jeg galt?
 
 Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As
 System.EventArgs) Handles PictureBox1.Click
 
 Dim g As Graphics = PictureBox1.CreateGraphics
 
 Dim stjerner As New Pen(Color.Blue)
 
 Dim x, y, X1, Y1, X0, Y0, Rotation
 
 For Rotation = 0 To 45
 
 'Rotér
 
 X1 = 150 : Y1 = 45 ' Punktet der roteres
 
 X0 = 150 : Y0 = 150 ' Centrum for rotation
 
 x = System.Math.Cos(Rotation) * (X1 - X0) - System.Math.Sin(Rotation) *
 (Y1 - Y0) + X0
 
 y = System.Math.Sin(Rotation) * (X1 - X0) + System.Math.Cos(Rotation) *
 (Y1 - Y0) + Y0
 
 g.DrawEllipse(stjerner, CInt(x), CInt(y), 2, 2)
 
 Next
 
 End Sub
 
 
 
 På forhånd tusinde tak.
 
 /Peter
 
 
 
 
 
 |  |  | 
  Jørgen Holdt (16-10-2002) 
 
	
          | |  | Kommentar Fra : Jørgen Holdt
 | 
 Dato :  16-10-02 16:13
 | 
 |  | Jeg ved ikke om dette kan bruges til noget.
 
 Den Tegner en cirkel i en form i de antal Degrees du vil fra 1 til 360
 grader
 
 Private Sub Command1_Click()
 ScaleMode = 3   ' Set scale to pixels.
 CX = ScaleWidth / 2   ' Set X position.
 CY = ScaleHeight / 2   ' Set Y position.
 PI = 22 / 7 'Ca.
 Degrees = 270
 Radius = 30
 Let lRadians = (PI * Degrees / 180)
 Circle (CX, CY), 5 'Cirkel Center
 Circle (CX, CY), Radius, 255, lRadians
 End Sub
 
 "Peter Jensen" <retep@post5.tele.dk> skrev i en meddelelse
 news:3da81784$0$18537$edfadb0f@dspool01.news.tele.dk...
 > Hej!
 > I vb.net har jeg brug for at rotere et punkt, som tegnes i en picturebox.
 > Dog kan jeg tilsyneladende ikke få formlen rigtig. Det vedlagte eksempel
 > skulle gerne tegne punkter fra 0 til 90 grader i en cirkel, men istedet
 > bliver punkterne fordelt hele cirklen rundt. Hvad gør jeg galt?
 >
 > Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As
 > System.EventArgs) Handles PictureBox1.Click
 >
 > Dim g As Graphics = PictureBox1.CreateGraphics
 >
 > Dim stjerner As New Pen(Color.Blue)
 >
 > Dim x, y, X1, Y1, X0, Y0, Rotation
 >
 > For Rotation = 0 To 45
 >
 > 'Rotér
 >
 > X1 = 150 : Y1 = 45 ' Punktet der roteres
 >
 > X0 = 150 : Y0 = 150 ' Centrum for rotation
 >
 > x = System.Math.Cos(Rotation) * (X1 - X0) - System.Math.Sin(Rotation) *
 > (Y1 - Y0) + X0
 >
 > y = System.Math.Sin(Rotation) * (X1 - X0) + System.Math.Cos(Rotation) *
 > (Y1 - Y0) + Y0
 >
 > g.DrawEllipse(stjerner, CInt(x), CInt(y), 2, 2)
 >
 > Next
 >
 > End Sub
 >
 >
 >
 > På forhånd tusinde tak.
 >
 > /Peter
 >
 >
 >
 
 
 
 
 |  |  | 
 |  |