java画个半径为1地圆_java - 绘制一个半径为圆的圆并围绕边缘指向 - 堆栈内存溢出...
圆上的点可以指定为角度θ的函数:
x = a + r cos(θ)
y = b + r sin(θ)
这里,示出了2π/ 8的增量。
附录:正如@ChristofferHammarström在评论中所建议的那样,这个修改过的例子减少了原始数字中的幻数 。 所需的点数成为构造函数的参数。 它还使渲染适应容器的大小。
/** @see https://stackoverflow.com/questions/2508704 */
public class CircleTest extends JPanel {
private static final int SIZE = 256;
private int a = SIZE / 2;
private int b = a;
private int r = 4 * SIZE / 5;
private int n;
/** @param n the desired number of circles. */
public CircleTest(int n) {
super(true);
this.setPreferredSize(new Dimension(SIZE, SIZE));
this.n = n;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.black);
a = getWidth() / 2;
b = getHeight() / 2;
int m = Math.min(a, b);
r = 4 * m / 5;
int r2 = Math.abs(m - r) / 2;
g2d.drawOval(a - r, b - r, 2 * r, 2 * r);
g2d.setColor(Color.blue);
for (int i = 0; i < n; i++) {
double t = 2 * Math.PI * i / n;
int x = (int) Math.round(a + r * Math.cos(t));
int y = (int) Math.round(b + r * Math.sin(t));
g2d.fillOval(x - r2, y - r2, 2 * r2, 2 * r2);
}
}
private static void create() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new CircleTest(9));
f.pack();
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
create();
}
});
}
}
java画个半径为1地圆_java - 绘制一个半径为圆的圆并围绕边缘指向 - 堆栈内存溢出...相关推荐
- 用java画网状图_如何在背景中绘制一个带网格线的漂亮条形图?
我是Matlab的新手 . 我做了一个实验 . 我需要帮助将结果绘制在2条形图(具有不同颜色)中,结果图形需要有网格线 . 有人建议使用非常matlap的代码输出一个漂亮的情节吗? 数据如下: x轴是 ...
- oracle 异常返回值,oracle - java.sql.SQLException:无效的列类型:调用具有行类型返回值的函数时为1111 - 堆栈内存溢出...
我在一个名为" MyPackage"的Oracle软件包中有一个函数: FUNCTION MyFunction(name IN VARCHAR2) RETURN MyTable%r ...
- java画满天星_上机题目(初级)- 绘制满天星(Java)
使用画布和画笔绘制一个满天星的小程序,十分简单,适合初学者学习使用: import java.awt.Color; import java.awt.Frame; import java.awt.Gra ...
- python turtle画滑稽_使用python的turtle函数绘制一个滑稽表情的方法
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- java 获取组件大小_java - 如何初始化取决于组件大小的图像抓取? - 堆栈内存溢出...
如果我正确理解问题,那么您的方法会有些落后. 与其让ImageNavigator告诉ZoomedImage绘制哪个子图像,不如让ZoomedImage在绘制时询问ImageNavigator(通过重写 ...
- java repaint 没反应_java - 为什么repaint()在我的JPanel上不起作用? - 堆栈内存溢出...
我制作了自己的JPanel子类,称为SubPatternPanel . 我想在框架中使用它来绘制网格,但是当我从框架中为SubPatternPanel调用repaint() ,它不起作用. 运行时,框 ...
- java写一个会动的圆_JAVA实现一个圆形的移动,画出来的圆形移动,我的圆它不动呀...
展开全部 import java.awt.Graphics; import java.awt.Image; import javax.swing.JFrame; public class JoinDe ...
- Java如何定义三个圆_java – 以编程方式查找三个圆的交叉点
你可以从 C code获得帮助.把它移植到JAVA不应该是具有挑战性的.说明是 here.搜索/滚动到:两个圆的交点 使用此方法,找到任意两个圆的交点..让我们说(x,y).现在,只有当中心与点x,y ...
- java画篮球_PS教程!手把手教你绘制炫酷的科比篮球海报
编者按:科蜜朋友来收教程咯!今天来一个科比飞身投篮的海报教程,效果酷炫难挡,过程细致入微,操作界面全中文,保证新手也可以轻松学会,周末来一发吧. _projava_大牛系列教程合集: 下面开始我的绘制 ...
最新文章
- Hive的基本操作-自定义函数
- 开启应用的时候总是以管理员身份打开的解决方案
- java excutorthread_Java中ThreadPoolExecutor的参数理解
- 浏览器打印设置横向打印_爱普生打印机无线连接设置
- IoT Studio可视化搭建平台编辑历史功能的思考与探索
- bzoj2285 [SDOI2011]保密 分数规划spfa+最小割
- 计算连续登陆最大天数
- c++删除文件delete_关于macos删除快捷键,你知道这些区别用法吗?
- Linux使用——Linux命令——CentOS7防火墙使用
- 中国大学MOOCPython语言程序设计基础学习笔记和课后练习5-6周(南京邮电大学)
- 计算机考试如何截屏,教你6种电脑截屏的小技巧-电脑怎么截图
- Stadia云游戏平台
- 实战分享|作为AI小白,如何争取AI产品经理offer
- 2021CCF BDCI图书推荐系统竞赛baseline
- php查询google pr值接口api介绍,php获取网站谷歌pr值方法
- 解决 Docker容器因 iptables无法启动的问题
- 2022-8-1----Android10.0(MTK)-----修改 ro 属性
- 芜湖五年制计算机公办学校,芜湖15所中职五年制学校
- 蛛网时代:数据大爆炸下的数据可视化
- 史上最牛逼、最方便的刷屏程序(QQ和其它)
热门文章
- Squid 代理服务器应用大全
- prefixspan java_PrefixSpan序列模式挖掘算法
- c语言二维数组参数传入,C语言二维数组、参数传递的理解
- 国内唯一,阿里云挺进 Forrester 数据流分析报告“强劲表现者”象限
- 为什么我要用C写游戏 适合自己的才是最好的
- VR游戏开发者如何避免“移动引起眩晕”
- 入职体检——项目列表(11项)
- 【蓝桥杯Java_C组·从零开始卷】第七节、递归
- 常见Java面试题 抽象类能使用 final 修饰吗?
- 分界符 EOF 不使用反斜杠转义的技巧