给定半径为1.00的圆的坐标的Java数学计算

在我的一项任务中,要求我编写一个程序来计算半径为1.0的圆上的点的(x,y)坐标.以0.1的增量显示从1.00到负1.00的所有x值的y值输出,并使用printf整齐地显示输出,其中所有x值垂直对齐,并在所有x值的右侧对齐,y值为垂直对齐,例如:

 x1    y1
1.00  0.00
0.90  0.44

我知道如何使用勾股定理来计算y值,但是我不知道如何通过使用循环并使用printf对其进行格式化来整齐地显示每个x和y值.下面是我到目前为止的代码,对您有帮助将不胜感激:

public class PointsOnACircleV1 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here

    // // create menu

    // create title
    System.out.println("Points on a circle of Radius 1.0");

    // create x1 and y1
    System.out.println("          x1                         y1");

    // create line
    System.out.println("_________________________________________________");

    // // display x values

    // loop?


    // // perform calculation

    // radius
    double radius = 1.00;

    // x value
    double x = 1.00;

    // calculate y value
    double y = Math.pow(radius, 2) - Math.pow(x, 2);
}

}

解决方法:

public static void main(String[] args) {

    double radius =  1.00;
    double x  , y ;

    for ( x=-1.0 ; x<=1.0; x+=0.2 ) {
        y = Math.sqrt(radius - Math.pow(x,2)) ;
        System.out.printf("\n" + x +"     "+ y);
    }
}

循环中的代码可以根据需要进行调整.

上一篇:javascript-THREE.js动态将点添加到“点”几何体不会渲染


下一篇:如何在PHP中绘制2D几何对象(圆形,多边形…)