Announcement

Collapse
No announcement yet.

Re: Calculation of 2D Angles ('CAST' problem)

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Re: Calculation of 2D Angles ('CAST' problem)

    Dear Ton and all,

    I'd like to point out a mistake in your summary.

    > As in Kwon3D, we label these matrix elements as t11, t12, t13, etc.
    > Using such an attitude matrix, obtained from measurements, the joint
    > angles can be easily extracted as follows:
    >
    > ph = atan2(-t32,t33)
    > th = atan2(t31,sqrt(t32*t32+t33*t33))
    > ps = atan2(-t21,t11)
    > (..sqrt is the square root function)
    >

    ph = atan2(-t32,t33)

    is not right because

    atan2(-t32,t33) = atan2(sin(ph)cos(th),cos(ph)cos(th))


    is not equivalent to

    atan2(sin(ph),cos(ph)).

    It depends on the sign of cos(th). If this is negative, you will have

    atan2(-sin(ph),-cos(ph))

    instead. Likewise,

    atan2(t31,sqrt(t32*t32+t33*t33)) = atan2(sin(th),sqrt(cos(th)^2))

    is not equivalent to

    atan2(sin(th),cos(th))

    because sqrt(a2) can be either +a or -a, etc.

    I agree that the use of ATAN2 is relatively more convenient. I have used FORTRAN, QuickBASIC, C, C++, and now Visual C++. The function has evolved accordingly and atan
    2 was forgotten in the process somehow. I will update my function using atan2. (^_^)

    Young-Hoo Kwon
    ------------------------------------------------------
    - Young-Hoo Kwon, Ph.D.
    - Biomechanics Lab, Texas Woman's University
    - ykwon@twu.edu
    - http://kwon3d.com
    ------------------------------------------------------

    ---------------------------------------------------------------
    To unsubscribe send SIGNOFF BIOMCH-L to LISTSERV@nic.surfnet.nl
    For information and archives: http://isb.ri.ccf.org/biomch-l
    ---------------------------------------------------------------
Working...
X