(Geometry: display angles) Write a program that enables the user to drag the vertices of a triangle and displays the angles dynamically as the triangle shape changes, as shown in Figure 1a. The formula to compute angles is given in Listing .
FIGURE 1 (a) Exercise enables the user to drag vertices and display the angles dynamically. (b) Exercise enables the user to drag vertices along the circle and display the angles in the triangle dynamically.

LISTING 1 ComputeAngles.java
1 import java.util.Scanner;
2
3 public class ComputeAngles {
4 public static void main(String[] args) {
5 Scanner input = new Scanner(System.in);
6
7 // Prompt the user to enter three points
8 System.out.print("Enter three points: ");
9 double x1 = input.nextDouble();
10 double y1 = input.nextDouble();
11 double x2 = input.nextDouble();
12 double y2 = input.nextDouble();
13 double x3 = input.nextDouble();
14 double y3 = input.nextDouble();
15
16 // Compute three sides
17 double a = Math.sqrt((x2 - x3) * (x2 - x3)
18 + (y2 - y3) * (y2 - y3));
19 double b = Math.sqrt((x1 - x3) * (x1 - x3)
20 + (y1 - y3) * (y1 - y3));
21 double c = Math.sqrt((x1 - x2) * (x1 - x2)
22 + (y1 - y2) * (y1 - y2));
23
24 // Compute three angles
25 double A = Math.toDegrees(Math.acos((a * a - b * b - c * c)
26 / (-2 * b * c)));
27 double B = Math.toDegrees(Math.acos((b * b - a * a - c * c)
28 / (-2 * a * c)));
29 double C = Math.toDegrees(Math.acos((c * c - b * b - a * a)
30 / (-2 * a * b)));
31
32 // Display results
33 System.out.println("The three angles are " +
34 Math.round(A * 100) / 100.0 + " " +
35 Math.round(B * 100) / 100.0 + " " +
36 Math.round(C * 100) / 100.0);
37 }
38 }
We need at least 10 more requests to produce the solution.
0 / 10 have requested this problem solution
The more requests, the faster the answer.