资源简介
笛卡尔心形
代码片段和文件信息
package com.kerun.test;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.Jframe;
/**
* @author zxy
* @date 2018年5月23日 下午4:28:35
* 类说明:利用笛卡尔公式及Graphics生成心形线条
*/
@SuppressWarnings(“serial“)
class TestGraphics extends Jframe {
// 定义窗口大小
private static final int WIDTH = 750;
private static final int HEIGHT = 650;
// 获取屏幕大小
private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
// 构造函数
public TestGraphics() {
// 设置窗口标题
super(“笛卡尔的最后一封情书(r=a(1-sinθ))“);
// 设置背景色
this.setBackground(Color.BLACK);
// 设置窗口位置
this.setLocation((WINDOW_WIDTH - WIDTH) / 2 (WINDOW_HEIGHT - HEIGHT) / 2);
// 设置窗口大小
this.setSize(WIDTH HEIGHT);
// 设置窗口布局
this.setLayout(getLayout());
// 设置窗口可见
this.setVisible(true);
// 设置窗口默认关闭方式
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
public void paint(Graphics g) {
double x y r; // 横纵坐标及半径
Image image = this.createImage(WIDTH HEIGHT);
Graphics pic = image.getGraphics();
pic.clearRect(0 0 WIDTH HEIGHT);
pic.setColor(Color.MAGENTA);
for (int i = 0; i <= 90; i++) {// 控制横向变化
for (int j = 0; j <= 90; j++) {// 控制竖向变化
// 转换为直角坐标
r = Math.PI *2/ 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 18;//前面乘以2为了放大图片展示
x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i) + WIDTH / 2; // 为了在中间显示,加了偏移量
y = -r * Math.sin(Math.PI / 45 * j) + HEIGHT / 4;// 为了在中间显示,加了偏移量
pic.fillOval((int) x (int) y 2 2); // 绘制点
}
try {
Thread.sleep(200);
g.drawImage(image 0 0 this);// 显示缓存区的可变Image对象
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2204 2019-02-12 14:33 笛卡尔心形\TestGraphics.java
文件 238 2019-02-12 14:34 笛卡尔心形\TestGraphicsRun.java
目录 0 2019-02-12 15:03 笛卡尔心形
----------- --------- ---------- ----- ----
2442 3
- 上一篇:Altera Cyclone IV 系列封装+原理图
- 下一篇:明日物流管理系统
相关资源
- sourceTree使用及产品证书
- node+js页面乐观锁帧同步
- 经典坦克大战js版源码
- Excel工具类
- 文本加密实验项目
- 全国银行卡bin库
- WebSocket实现一个简单的聊天室以及单
- Swing下CS结构软件自动升级实现
- 航空订票管理系统开题报告
- Spring Boot简单登录注册demo
- 验证手机号码是否正确
- WFG 多目标测试函数测试集
- 江苏鸿信笔试面试题
- 编程专业英语词汇大全
- MyBatis学习笔记.zip
- Gojs设备拓扑图Demo设备,端口均可点击
- jd-gui插件-jd-eclipse-site-1.0.0-RC2
- 微信小程序支付sdk二次封装(开箱即
- 用于Vuejs的一个可拖动和可调整大小的
- 基于VueElement的简单管理后台模板
- Vue20VuerouterElementUI实现的后台管理系统
- 一个可扩展可部署的QQ群机器人。
- Spring相关的外文文献和翻译(毕设论
- 01 文件在WebRoot文件夹下的downFile文件
- heatmap.js热图js
- js文本比对插件
- 深入理解Spring Cloud与微服务构建 方志
- 判断用户是否在线和实时统计在线人
- 用MapReduce实现KMeans算法
- idea2017的sublime3 monokai配色
评论
共有 条评论