On Tue, 28 Nov 2006, Carlos wrote: > I was never very good at trigonometry, but looks like my translation of > the equation is ok and the problem is some kind of python behavior, > because whenever the results exceed 100? (deg) Python returns the > complementary angle, it is possible to avoid this? Or I'm overlooking > somethig?
Carlos, I'm not so good at trigonometry myself, but I suspect that the trouble is that for some trig functions, both an angle and that angle's complement map to the same value. For example: >>> angle1 = radians(45) # 45 degrees >>> angle2 = pi-angle1 # 135 degrees >>> print degrees(angle1), degrees(angle2) 45.0 135.0 >>> sin(angle1), sin(angle2) (0.70710678118654746, 0.70710678118654757) >>> angle1 = radians(30) >>> angle2 = pi-angle1 >>> print degrees(angle1), degrees(angle2) 30.0 150.0 >>> sin(angle1), sin(angle2) (0.49999999999999994, 0.49999999999999994) So basically, once you take a sine in your early steps, you're getting the same sine result regardless of whether it's in the first quadrant (0-90 degrees) or second quadrant (90-180 degrees). When you subsequently use that sine and try to eventually get an angle out of it, it's going to give you a first-quadrant result. I think you'll need to track the range of your input angle and adjust your output angle accordingly. The algorithm you got may only be valid for 0-90 degrees.
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor