假设一个正五边形的中心位于(0,0),其中一个点位于0点位置。编写程序,提示用户输入正五边形外接圆的半径,显示p1到p5为5个坐标。
package pack2;
import java.util.Scanner;
public class CoordinatesOfPoints {
public static void main(String[] args) {
try(Scanner input = new Scanner(System.in);) {
System.out.print("Enter the radius of the bounding circle: ");
double radius = input.nextDouble();
System.out.println(coordinates(radius));
}
}
//顶点坐标
public static String coordinates(double radius) {
double x1 = radius * Math.cos(Math.PI / 2 - (2 * Math.PI / 5));
double y1 = radius * Math.sin(Math.PI / 2 - (2 * Math.PI / 5));
double x2 = radius * Math.cos(Math.PI / 2);
double y2 = radius * Math.sin(Math.PI / 2);
double x3 = radius * Math.cos(Math.PI / 2 + (2 * Math.PI / 5));
double y3 = radius * Math.sin(Math.PI / 2 + (2 * Math.PI / 5));
double x4 = radius * Math.cos(Math.PI / 2 + 2 * (2 * Math.PI / 5));
double y4 = radius * Math.sin(Math.PI / 2 + 2 * (2 * Math.PI / 5));
double x5 = radius * Math.cos(Math.PI / 2 - 2 * (2 * Math.PI / 5));
double y5 = radius * Math.sin(Math.PI / 2 - 2 * (2 * Math.PI / 5));
return String.format("The coordinates of five points on the pentagon are\n"+
"(%.4f, %.4f)\n(%.4f, %.4f)\n(%.4f, %.4f)\n(%.4f, %.4f)\n(%.4f, %.4f)",
x1, y1, x2, y2, x3, y3, x4, y4, x5, y5);
}
}