By the way again, Mark's method is also correct if you fix the variable names as shown below. Normally a triangle with points ABC have their sides named with side b between A and C so it is opposite angle B...etc.
on mouseUp put cd fld "A" into pointA put cd fld "B" into pointB -- assumed center of angle put cd fld "C" into pointC -- -- get the lengths of the three sides of the triangle put SideLength(pointA, pointB) into lengthC put SideLength(pointB, pointC) into lengthA put SideLength(pointA, pointC) into lengthB --calculate the angle as arccos( (b2+c2-a2) / 2bc) --the other two angles are arccos( (a2+c2-b2) / 2ac) -- and arccos( (a2+b2-c2) / 2ab) put (lengthA * lengthA) + (lengthC * lengthC) - (lengthB * lengthB) into tSub put acos(tSub / (2 * lengthA * lengthC)) into tRadians put (tRadians * 180 / pi) into cd fld "AngleABC"-- convert from radians to degrees end mouseUp -- calculate (x2-x1)^2 + (y2-y1)^2 -- return the square root of that function SideLength pPointA, pPointB local lengthX, lengthY set the itemdelimiter to comma put item 1 of pPointB - item 1 of pPointA into lengthX put lengthX * lengthX into lengthX -- x squared put item 2 of pPointB - item 2 of pPointA into lengthY put lengthY * lengthY into lengthY -- y squared return sqrt(lengthX + lengthY) -- length of hypotenuse end SideLength -- View this message in context: http://n4.nabble.com/Deriving-an-angle-from-three-points-tp964930p965059.html Sent from the Revolution - User mailing list archive at Nabble.com. _______________________________________________ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution