画出心形线,同时在左上角显示步长值和画图所用时间

import java.awt.*;

import java.awt.event.*;

import java.awt.image.*;

import java.util.Random;

import java.math.BigDecimal;

import static java.lang.Math.*;

public class Test{

long start = System.currentTimeMillis();

private Frame f = new Frame("心形线");

//画布大小

private final int SIZE=600;

//重写paint()

private MyCanvas area = new MyCanvas();

private BufferedImage image = new

BufferedImage(SIZE,SIZE,BufferedImage.TYPE_INT_RGB);

private Graphics g = image.getGraphics();

//循环步长

private final double STEP = 0.00001;

private void init(){

area.setPreferredSize(new Dimension(SIZE,SIZE));

// 画白色背景

g.setColor(Color.white);

g.fillRect(0, 0, SIZE, SIZE);

// 画两条坐标轴

g.setColor(Color.black);

g.drawLine(0,SIZE/2,SIZE,SIZE/2);

g.drawLine(SIZE/2,0,SIZE/2,SIZE);

//计算坐标

//新坐标

int x1, y1,x2, y2;

for (double t = -Math.PI; t < Math.PI; t = t + STEP){

g.setColor(Color.black);

x1 = axisSystem(axisX(t));

y1 = axisSystem(axisY(t));

x2 = axisSystem(axisX(t+STEP));

y2 = axisSystem(axisY(t+STEP));

//原曲线是横向的,为求美观调整了输出把它画成纵向

//g.drawLine(x1, y1, x2, y2);

g.drawLine(y1, SIZE-x1, y2, SIZE-x2);

}

//关闭窗口

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

long end = System.currentTimeMillis();

g.setColor(Color.red);

g.setFont(new Font("Times", Font.BOLD,15));

g.drawString("步长值:" + BigDecimal.valueOf(STEP) , 20,

30);

g.drawString("画图所用时间:" + (end - start) + "毫秒", 20, 50);

area.repaint();

f.add(area);

f.pack();

f.setVisible(true);

}

//根据t算出对应的心形线新坐标X值,若画其他函数,只须改这几个方法

private double axisX(double t){

return 2*cos(t) - cos(2*t);

}

//根据t算出对应的心形线新坐标Y值,若画其他函数,只须改这几个方法

private double axisY(double t){

return 2*sin(t) - sin(2*t);

}

//把新坐标换算成系统坐标,若画其他函数,只须改这几个方法

private int axisSystem(double d){

return (int)((0.5+d/8)*SIZE);

}

private class MyCanvas extends Canvas{

public void paint(Graphics g){

g.drawImage(image, 0, 0, null);

}

}

public static void main(String[] args){

new Test().init();

}

}

用java画爱心图_Java画心形线相关推荐

  1. 用java画爱心图_java实现心形图案桃心

    相信对于打印三角形都没什么难度,只必要诳骗for轮回嵌套驾驭就行可是看待打印圆形和三角形分袂原故到圆心隔绝相称的点大凡不会横坐标和纵坐标都为整数打印爱酷爱心的公式(x²+y²-1)³-x²*y³=0调 ...

  2. 用java画爱心图_C++和Java命令行绘制心形图案

    心形线 心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹,因其形状像心形而得名. 心脏线亦为蚶线的一种.在曼德博集合正中间的图形便是一个心脏线.心脏线的英文名称& ...

  3. 用java画爱心图_用java实现 图片组成心形图案

    灵感:java2核心技术卷1(共两卷) 最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案...你懂得 import java.awt.*; import java.awt.ge ...

  4. 用java画爱心图_用java输出一个心型图案

    public class test_23 { public static void main(String[] args) { //打印输出菱形的上半部分 for (int i = 0; i < ...

  5. java 折线动图_Java画折线图

    JFreeChart 是开放源代码站点SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图.柱状图 ( 普通柱状图以及堆栈柱状图 ).线图.区域图.分 ...

  6. java 画爱心壮那首歌最,抖音貂蝉大招画爱心怎么画 抖音貂蝉大招画爱心的背景音乐是什么...

    经常玩王者荣耀的朋友们一定也都很喜欢貂蝉,她的大招是一个圆形的花团,而抖音上最近火起来的"用貂蝉大招画爱心"到底是怎么画的呢,随着这个抖音视频一起火起来的背景音乐又是什么歌曲呢,小 ...

  7. java 画爱心壮那首歌最,抖音貂蝉大招画爱心的背景音乐是什么

    抖音上火了貂蝉的大招画爱心,同时它的BGM也吸引了很多网友们,一曲古风歌曲,搭配上貂蝉的舞蹈,真的是让人听了还想听呢,抖音貂蝉大招画爱心的背景音乐是什么?还不知道的网友们下面就跟着小编一起来看看吧,小 ...

  8. java 画爱心壮那首歌最,抖音貂蝉大招画爱心的背景音乐是什么_貂蝉大招画爱心的BGM歌曲介绍_咖绿茵手游站...

    貂蝉的大招画爱心的方法网友们都学会了吧,是不是又喜欢了这个BGM了呢,小编相信一定有很多网友都还不知道抖音貂蝉大招画爱心的背景音乐是什么吧,感兴趣的网友们,下面就跟着小编一起来看看吧,希望可以帮助到你 ...

  9. java画五子棋盘_Java实现两人五子棋游戏(二) 画出棋盘

    本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下 棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根 ...

最新文章

  1. make: warning: file “xxx“ has modification time yyy s in the future 解决方法
  2. 智能合约从入门到精通:完整范例
  3. 银行营业网点管理系统——implt包(BranchesDaoImpl )
  4. Ubuntu 无法获得锁
  5. matlab中将ebn0转snr,EbNo(EbN0)和SNR
  6. SAP License:用科学发展观认识会计
  7. jQuery Post
  8. 攻防世界 MISC 新手练习区 答题(1-12题解)
  9. Leetcode763. 划分字母区间(贪心)
  10. Pure Pursuit轨迹跟踪matlab程序
  11. opencv的RGB 颜色表
  12. 小象学院——面向对象的特点
  13. Linux文件管理 | Liunx 常用命令
  14. K8S 污点和容忍度
  15. 用Mybatis实现添加用户
  16. 关注ERP项目中的隐含成本
  17. 深入理解Linux网络技术内幕学习笔记第十九章:因特网协议第四版(IPv4):Linux的原理和功能
  18. 触摸屏手势控制镜头旋转与缩放
  19. Windows Linux对应软件
  20. 接触角的计算----寻找气液固三相的交点

热门文章

  1. Java 线程 - 基础及工具类 (二)
  2. 滨江学院15计算机篮球赛,计算机应用工程系“迎新杯”篮球对抗赛颁奖典礼
  3. 巾帼绽芬芳 一起向未来(下篇)
  4. 服务器宕机了别慌 快记住这些常规操作吧
  5. 只有量子计算机 才能产生意识,一个只有量子计算机才能解决的问题
  6. PDF转Excel乱码怎么办?
  7. 2003怎么运行java_win2003如何让系统运行速度快速飙升
  8. 【人生】一个人逐渐颓废的表现
  9. iPad Pro 11 英寸(2021 年)评测:比笔记本电脑更奢华
  10. 零基础学习网络安全可以干什么?(黑客入门教程)