I haven't worked this out, but FWIW:
Draw a vertical line from point X,Y and determine the value of y at the points, if any, that your line crosses each of the triangle's 3 line segments. It looks as if X,Y is within the triangle if -- at least one intersecting point exists, and -- Y is not greater than the greatest y value among those existing points, nor less than the least y value among those existing points. Try sketching a few cases to see this. If this is right, you'd need to make 3 calls to something like function yOnASegment x1,y1,x2,y2,x0 if (x0 >= x1 and x0 <= x2) or (x0<=x1 and x0>=x2) then -- the line segment includes x0, and we want to find y0: put (y2-y1)/(x2-x1) into s -- slope; but need to provide separately for the case where x2=x1 return y1+s*(x0-x1) -- not sure I've considered all possible orderings of the points here, but you get the idea end if return empty -- x0 isn't on the segment end yOnASegment David Epstein _______________________________________________ use-revolution mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
