GetAngle2D
Angle# = GetAngle2D(X1, Y1, X2, Y2)
 
Parameters:

    X1 = X position of viewer
    Y1 = Y position of viewer
    X2 = X position of target
    Y2 = Y position of target
Returns:

    Angle#
 

      GetAngle2D returns the angle (in degrees) between two given points. X1 and Y1 defines the position of Point #1 (the viewer), while X2 and Y2 define the position of Point 2 (the target).




Mini Tutorial:


      This example uses the GetAngle2D function to calc the angle between a vector shape and the mouse pointer

  
; Create a triangle shape to represent the viewer
  Viewer=NewConvexShape(50,3)
  
  
; Define some variables to hold the viewers position
  ViewerPosX#=400
  ViewerPosY#=400
  
  
; Start of the program main loop
  Do
     
   ; Clear the screen to black
     Cls RGB(0,0,0)
     
   ; Get the X & Y coordinates of the mouse
     mx#=MouseX()
     my#=MouseY()
     
   ; Draw a Circle at the Mouse Position
     CircleC mx#,my#,10,1,RGB(255,0,0)
     
   ; Get the Angle/direction of the mouse
   ; from the shapes perspective.
     angle#=GetAngle2D(ViewerPosX#,ViewerPosY#,mx#,my#)
     
     
   ; Rotate the shape to face this direction
     RotateShape Viewer,angle#,1
     
   ; draw the shape so we can see it
     DrawShape Viewer,ViewerPosX#,ViewerPosY#,2
     
     
   ; calc (project) the end points of a line from the viewer.
     RayEndX#=CosNewValue(ViewerPosX#,angle#,100)
     RayEndY#=SinNewValue(ViewerPosX#,angle#,100)
     
   ; draw a line from the viewers Center (axis) to
   ; show it's direction more clearly
     Line ViewerPosX#,ViewerPosY#,RayEndX#,RayEndY#
     
   ; refresh the screen
     Sync
     
   ; loop back to the do statement to keep
   ; the program running
  Loop
  
  





 
Related Info: AngleDifference | CurveAngle | GetDistance2D | RotateToPoint | TurnDirection | WrapAngle :
 


(c) Copyright 2002 - 2024 - Kevin Picone - PlayBASIC.com