Java Reference
In-Depth Information
***10.12
( Geometry: The Triangle2D class ) Define the Triangle2D class that contains:
Three points named p1 , p2 , and p3 of the type MyPoint with get and set
methods. MyPoint is defined in Exercise 10.4.
A no-arg constructor that creates a default triangle with the points ( 0 , 0 ),
( 1 , 1 ), and ( 2 , 5 ).
A constructor that creates a triangle with the specified points.
A method getArea() that returns the area of the triangle.
A method getPerimeter() that returns the perimeter of the triangle.
A method contains(MyPoint p) that returns true if the specified point p
is inside this triangle (see Figure 10.16a).
A method contains(Triangle2D t) that returns true if the specified tri-
angle is inside this triangle (see Figure 10.16b).
A method overlaps(Triangle2D t) that returns true if the specified tri-
angle overlaps with this triangle (see Figure 10.16c).
p
(a)
(b)
(c)
F IGURE 10.16 (a) A point is inside the triangle. (b) A triangle is inside another triangle.
(c) A triangle overlaps another triangle.
Draw the UML diagram for the class and then implement the class. Write a test pro-
gram that creates a Triangle2D objects t1 using the constructor new Trian-
gle2D(new MyPoint(2.5, 2), new MyPoint(4.2, 3), new MyPoint(5,
3.5)) , displays its area and perimeter, and displays the result of t1.contains(3,
3) , r1.contains(new Triangle2D(new MyPoint(2.9, 2), new
MyPoint(4, 1), MyPoint(1, 3.4))) , and t1.overlaps(new Trian-
gle2D(new MyPoint(2, 5.5), new MyPoint(4, -3), MyPoint(2,
6.5))) .
( Hint : For the formula to compute the area of a triangle, see Programming Exer-
cise 2.15. Use the java.awt.geo.Line2D class in the Java API to implement
the contains and overlaps methods. The Line2D class contains the methods
for checking whether two line segments intersect and whether a line contains a
point, and so on. Please see the Java API for more information on Line2D . To
detect whether a point is inside a triangle, draw three dashed lines, as shown in
Figure 10.17. If the point is inside a triangle, each dashed line should intersect a
side only once. If a dashed line intersects a side twice, then the point must be out-
side the triangle.)
p
p
(a)
(b)
F IGURE 10.17
(a) A point is inside the triangle. (b) A point is outside the triangle.
Search WWH ::




Custom Search