Developers, please tell me...

  • cip2

    cip2 - 2005-04-12

    I am the admin from project VisGame and am writing to ask if any of the developers would answer this question.

    Mouse Input event MouseMoveDirection( Angle, Force)
    I have a event firing when ever you move the mouse (using DX8 input) but I would like to be able to also have the above event.

    How do you get the angle returned by two segments (points-vectors) from a X and Y values back into one angle value?

    This is what I am testing out on my computer. (it's in VB but the math is 80% the same - also I suing words in the example code for understanding)

    Type Vector
      X as double
      Y as double
    end type

    U, V, Alpha, Beta, Angle are all of type Vector
    Theta is of type Double

    'Some test values
    U.X = 1: U.Y = 3
    V.X = 4: V.Y = 1
    '||Vector|| = Magnitude = Squar_root ( (Vector.X ^ 2) + (Vector.Y ^2) )

    Alpha.X = cosign( U.x / ||U|| )
    Alpha.Y = sign( U.y / ||U|| )
    Beta.X = cosign( V.x / ||V|| )
    Beta.Y = sign( V.y / ||V|| )

    Now as I understand it you can get the angle between U and V (using a zero vector) like so:

    Theta = Alpha - Beta ' Get the angle

    but this dose not work in VB so you wright it this way

    Angle.X = Alpha.X - Beta.X  ' Get the angle for X
    Angle.Y = Alpha.Y - Beta.Y ' Get the angle for Y

    Again, my question is how do you get these values back into one angle as they should be. If any one can help me please jump in and show me the way.

    Cip2 out

    • Dave Brosius

      Dave Brosius - 2005-04-12
      • cip2

        cip2 - 2005-04-12

        Hear ye, hear ye!
        Thank you dbrosius!
        I'll dredit you (and the sources) for leading me to the math that alowed the event to happen!
        It works even closer then I had hoped.
        Thank you dbrosius!
        Hear ye!


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks