怎样用java画图
1个回答
关注
展开全部
首先,应该确定N边形边长L以便计算角度θ。长度L为:L=2×R×sin(π/N)/其中R是外接圆的半径,N是正多边形的边数。角度θ为:θ=2×π/N。有了边长和角度,可以使用以下代码绘制正多边形://定义变量N,即正多边形的边数int N; //定义变量R,即外接圆的半径int R; //计算边长int L=2*R*sin(π/N); //计算角度doubleθ = 2*π/N; //初始化画笔,参数选择屏幕中心(0,0)drawPoint.init(0,0); //绘制正多边形for (inti=1;i<=N;i++) { drawLine.moveTo(x+L×cosθ,y+L×sinθ); θ+=2*π/N; } //连接最后一个边到第一个边drawLine.moveTo(x,y);
咨询记录 · 回答于2023-04-07
怎样用java画图
这两个怎么写代码呢?
亲,等一下
首先,我们需要创建一个新的StdDraw模板,并将其设置为适当的尺寸,例如800 x 600像素。接下来,我们使用for循环来创建每一个正方形,以及其相应的边距。例如:for(int i = 1; i <= 10;i++) { int y = (i * 10) - 10; StdDraw.filledSquare(400, 300, y);}上述示例将循环10次,每次绘制一个10像素的正方形,位置由400和300定义,它从中心向外扩展。最后,调用StdDraw.show()来显示曲线。
能直接帮我把这两个图形用java写的代码告诉我吗?我自己先看看
首先,应该确定N边形边长L以便计算角度θ。长度L为:L=2×R×sin(π/N)/其中R是外接圆的半径,N是正多边形的边数。角度θ为:θ=2×π/N。有了边长和角度,可以使用以下代码绘制正多边形://定义变量N,即正多边形的边数int N; //定义变量R,即外接圆的半径int R; //计算边长int L=2*R*sin(π/N); //计算角度doubleθ = 2*π/N; //初始化画笔,参数选择屏幕中心(0,0)drawPoint.init(0,0); //绘制正多边形for (inti=1;i<=N;i++) { drawLine.moveTo(x+L×cosθ,y+L×sinθ); θ+=2*π/N; } //连接最后一个边到第一个边drawLine.moveTo(x,y);
从内向外盘旋扩张的类正方形盘形曲线的 Java 代码如下:StdDraw.setPenRadius (0.02); //设置画笔粗细 StdDraw.setPenColor (StdDraw.BLUE); //设置画笔颜色 StdDraw.setXscale (-3.0, 3.0); //设置 X 轴范围 StdDraw.setYscale (-3.0, 3.0); //设置 Y 轴范围 for (double r = 0; r < 3; r += 0.5) { //设置 r 的初始值和增量 double angle = 0; //设置起点的角度 StdDraw.circle (0, 0, r); //画出当前的圆 StdDraw.moveTo (r, 0); //起点移动到(r,0) while (angle < 2 * Math.PI) { //角度在 2π 范围内做变换 angle += 0.1; //增量 StdDraw.lineTo (r * Math.cos(angle), r * Math.sin(angle));
从(0,0)点开始绘制正多边形(3~12),每个外接圆的半径依次递增,Java 代码如下:StdDraw.setPenRadius (0.02); //设置画笔粗细StdDraw.setPenColor (StdDraw.BLUE); //设置画笔颜色StdDraw.setXscale (-3.0, 3.0); //设置 X 轴范围 StdDraw.setYscale (-3.0, 3.0); //设置 Y 轴范围for (int i = 3; i <= 12; i++) { //代表三角形,正方形~十二边形 double angle = 0; //初始角度 double r = 0; // 设置 radius StdDraw.moveTo (r * Math.cos(angle), r * Math.sin(angle)); //设置起点 for (int j = 0; j < i; j++) { // j 代表当前绘制的是第几条边 angle += 2 * Math.PI / i; //每次角度增加 2π/i,它不会超出 2π r +
从(0,0)点开始绘制正多边形(3~12),每个外接圆的半径依次递增,Java 代码如下:StdDraw.setPenRadius (0.02); //设置画笔粗细StdDraw.setPenColor (StdDraw.BLUE); //设置画笔颜色StdDraw.setXscale (-3.0, 3.0); //设置 X 轴范围 StdDraw.setYscale (-3.0, 3.0); //设置 Y 轴范围for (int i = 3; i <= 12; i++) { //代表三角形,正方形~十二边形 double angle = 0; //初始角度 double r = 0; // 设置 radius StdDraw.moveTo (r * Math.cos(angle), r * Math.sin(angle)); //设置起点 for (int j = 0; j < i; j++) { // j 代表当前绘制的是第几条边 angle += 2 * Math.PI / i; //每次角度增加 2π/i,它不会超出 2π
r += 0.5; //半径增加 0.5 StdDraw.lineTo (r * Math.cos(angle), r * Math.sin(angle)); //绘制图形 }}
亲,你可以看一下