Given three corner points of a triangle, and one more point P. Write a function to check whether P lies within the triangle or not.
For example, consider the following program, the function should return true for P(10, 15) and false for P'(30, 15)
B(10,30) / \ / \ / \ / P \ P' / \ A(0,0) ----------- C(20,0)
Let the coordinates of three corners be (x1, y1), (x2, y2) and (x3, y3). And coordinates of the given point P be (x, y)
1) Calculate area of the given triangle, i.e., area of the triangle ABC in the above diagram. Area A = [ x1(y2 – y3) + x2(y3 – y1) + x3(y1-y2)]/2
2) Calculate area of the triangle PAB. We can use the same formula for this. Let this area be A1.
3) Calculate area of the triangle PBC. Let this area be A2.
4) Calculate area of the triangle PAC. Let this area be A3.
5) If P lies inside the triangle, then A1 + A2 + A3 must be equal to A.
Exercise: Given coordinates of four corners of a rectangle, and a point P. Write a function to check whether P lies inside the given rectangle or not.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Check whether a given point lies inside a rectangle or not
- Check if four segments form a rectangle
- Count Integral points inside a Triangle
- How to check if given four points form a square
- Program to find area of a triangle
- Find if two rectangles overlap
- Given n line segments, find if any two segments intersect
- Convex Hull | Set 1 (Jarvis's Algorithm or Wrapping)
- How to check if a given point lies inside or outside a polygon?
- How to check if two given line segments intersect?
- Closest Pair of Points using Divide and Conquer algorithm
- Magic Square
- Count numbers that don't contain 3
- Write a program to print all permutations of a given string
- Write an Efficient Method to Check if a Number is Multiple of 3
Improved By : vt_m