Problem: How can I determine if the mouse is moved clockwise or counterclockwise given only the movement of the mouse?
Any suggestions appreciated!!
Any suggestions appreciated!!
SuperStrict Framework BRL.Blitz Import BRL.GLMax2D Const CW_ORIENTATION : Int = 1, .. CCW_ORIENTATION : Int = 2 Global Points : Float[3, 2], .. A : Float[2], .. B : Float[2], .. Orientation : Int Graphics(640, 480) While Not KeyDown(KEY_ESCAPE) Points[0, 0] = Points[1, 0] ; Points[0, 1] = Points[1, 1] Points[1, 0] = Points[2, 0] ; Points[1, 1] = Points[2, 1] Points[2, 0] = MouseX() ; Points[2, 1] = MouseY() Rem -> |p1.x| |p0.x| a = |p1.y| - |p0.y| -> |p2.x| |p1.x| b = |p2.y| - |p1.y| -> -> -> c = a x b c.z > 0 --> clock wise c.z <= 0 --> counter clock wise End Rem A[0] = Points[1, 0] - Points[0, 0] A[1] = Points[1, 1] - Points[0, 1] B[0] = Points[2, 0] - Points[1, 0] B[1] = Points[2, 1] - Points[1, 1] If A[0]*B[1] - A[1]*B[0] > 0.0 Then Orientation = CW_ORIENTATION Else Orientation = CCW_ORIENTATION EndIf Cls() If Orientation = CW_ORIENTATION Then SetColor(255, 0, 0) Else SetColor(0, 255, 0) EndIf DrawLine(Points[0, 0], Points[0, 1], .. Points[1, 0], Points[1, 1]) DrawLine(Points[1, 0], Points[1, 1], .. Points[2, 0], Points[2, 1]) Flip() Wend End