[转] 打印一近似圆,给定不同半径,圆的大小随之改变

Posted kexve

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转] 打印一近似圆,给定不同半径,圆的大小随之改变相关的知识,希望对你有一定的参考价值。

    import java.lang.Math;  
      
    public class MathDraw  
    {  
        /** 
         * 画图函数,输入圆半径,输出圆 
         */  
        public static void paint(int r)  
        {  
           //假定圆心在坐标(r,r)处  
           int x = 0; //x的坐标开始  
           int y = r * 2;    //y的坐标开始  
           int c = 0; //中间空格数量  
           int z = 2; //每行递减量,步长设为2是为了调节屏幕纵横比。  
      
           for (int i = r * 2; i >= 0; i = i-z) {  
               //获取画*点坐标的x值  
                x = getX(r, y);  
               //先画该y值上左边的*  
                System.out.print(getSpace(x) +"*");  
               c = (r-x)*2; //以圆心对应输出空格  
               //再画该y值上右边的*  
                System.out.println(getSpace(c) +"*");  
               //每次y值递减  
                y-=z;  
            }  
        }  
      
         /** 
         * 获取画*位置,输入圆半径和坐标y值,输出坐标x值 
         */  
        public static int getX(int r, int y) {  
            //取直角三角形长边长  
            int h = y - r;   
           //求直角三角形短边长  
            double l = Math.sqrt((r * r) - (h * h));  
           //取x值,Math.round()返回最接近的整数  
            return (int) Math.round(r-l);  
        }  
      
        /** 
         * 画空格 
         */  
        public static String getSpace(int i) {  
            String s = "";  
            for (int j = 0; j < i; j++) {  
                s += " ";  
            }  
            return s;  
        }  
      
        public static void main(String[] args)  
        {  
           //调用画图函数,参数是圆的半径  
           paint(6);  
        }  
    }  

[ 转自https://blog.csdn.net/monarch_lin/article/details/8679856# ]

以上是关于[转] 打印一近似圆,给定不同半径,圆的大小随之改变的主要内容,如果未能解决你的问题,请参考以下文章

给定圆的半径r求圆的面积

C语言 输入半径 求圆的面积和周长

公式推导 圆面积公式 圆周长公式

给定两个点和半径找到圆心

Java程序:输入圆的半径,输出圆的周长和面积。(用eclipse编)

求用python输入圆的半径,计算圆的周长和面积,结果保留2位小数的代码