资源简介
笛卡尔心形

代码片段和文件信息
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 系列封装+原理图
- 下一篇:明日物流管理系统
相关资源
- SpringBoot+H2+mybatis-plus59130
- 登录注册界面.zip48872
- 数字华容道
- SSM+Shiro+redis实现单点登陆
- jstl-api-1.2和jstl-impl-1.2
- 基于MVC模式的会员管理系统
- 国内一家大型软件公司内部的正规软
- 仿windows记事本
- GUI银行管理系统
- 超市收银系统eclipse access大学课程设计
- 模拟ATM柜员机系统--连接数据库
- A*算法的2D演示(带源码)
- 代码审查表和代码审查实例
- 仿126 网易 163 邮箱 界面
- Tomcat6.x
- 简单的行编辑器
- 扫雷(MVC架构)
- 302 Found
- window ping命令加时间并记录日志
- springboot+rabbitmq项目demo(亲测可正常运
- jxbrowser 所有版本通用的破解包
- 2017年-传智播客-张志君老师-SpringBoo
- Blob.js+Export2Excel.js
- 机会路由源代码+仿真工具(SCORP)
- POI中文帮助文档附带api手册.zip
- 2018双十一阿里供应链服务平台讲座
- 原银在线信贷平台概要设计说明书v
- office_word_api 开发文档
- sun.misc.Unsafe源码
- netty的视频90集
评论
共有 条评论