据说,心形线起源于法国的笛卡尔,他曾认识一位瑞典小公国的公主克里斯汀,并成为了公主的数学老师,并渐渐产生爱慕之心,但是被国王阻止了(想象一段狗血的剧情)。笛卡尔被迫流放回法国,对公主日夜思念便写信,但是又怕被人看到,于是就想到了用数学公式画心形线来表白心迹。

笛卡尔的心形线是这样的:

在坐标系中画出来是这样的:

想要个更苗条的是不:

如果想要更好看的,就需要matlab等工具进行渲染了

二.java 实现❤️

首先来一个7行就能搞定的:

    public  static  void heart1(){float x,y,a;for(y=1.3f;y>-1.1f;y-=0.06f){   //这里的参数皆可以调,条件就是看着顺眼for(x=-1.2f;x<=1.2f;x+=0.025f){a=x*x+y*y-1;System.out.print(a*a*a-x*x*y*y*y<=0.0f?' ':'$');}System.out.println();}}

画出来的结果是这样的:

再来一个心中有无数爱的:

public static  void heart2(){double x,y,a;char s[]=new char[]{'I',' ','l','o','v','e',' ','y','o','u','!'};int index=0;for(y=1.3f;y>-1.1f;y-=0.06f){index=0;for(x=-1.1f;x<=1.1f;x+=0.025f){double result=x*x+pow((5.0*y/4.0-sqrt(abs(x))),2);if(result<=1){System.out.print((s[index]));index=(index+1)%11;}else{System.out.print(' ');}}System.out.println(" ");}}

执行之后是这样的:

怎么样,是不是程序员的专属浪漫?

点击 下载表白代码 源码

三.一个双心的例子

有个小伙伴给贡献了一段代码,效果是这样的:

代码如下:

import javax.swing.*;
import java.awt.*;
​
import static java.lang.Math.*;
​
public class DemoTest extends JFrame {private static final long serialVersionUID = -1284128891908775645L;
​// 定义加载窗口大小
​public static final int GAME_WIDTH = 500;
​public static final int GAME_HEIGHT = 500;// 获取屏幕窗口大小public static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
​public static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
​public DemoTest() {
​// 设置窗口标题this.setTitle("心形曲线");// 设置窗口初始位置this.setLocation((WIDTH - GAME_WIDTH) / 2, (HEIGHT - GAME_HEIGHT) / 2);// 设置窗口大小this.setSize(GAME_WIDTH, GAME_HEIGHT);// 设置背景色this.setBackground(Color.BLACK);// 设置窗口关闭方式this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗口显示this.setVisible(true);}
​@Overridepublic void paint(Graphics g) {double x, y, r;Image OffScreen = createImage(GAME_WIDTH, GAME_HEIGHT);Graphics drawOffScreen = OffScreen.getGraphics();for (int i = 0; i < 90; i++) {for (int j = 0; j < 90; j++) {r = Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 18;x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i) + GAME_WIDTH / 2;y = -r * Math.sin(Math.PI / 45 * j) + GAME_HEIGHT / 4;//设置画笔颜色drawOffScreen.setColor(Color.PINK);// 绘制椭圆drawOffScreen.fillOval((int) x, (int) y, 2, 2);}// 生成图片g.drawImage(OffScreen, 0, 0, this);}}
​public static void main(String[] args) {DemoTest demo = new DemoTest();demo.setVisible(true);}
​
}

转载:程序员的浪漫:如何用java代码画❤️表白呢? - 知乎

java七夕实现爱心相关推荐

  1. java计算机毕业设计爱心公益网站设计与制作源码+数据库+系统+lw文档+部署

    java计算机毕业设计爱心公益网站设计与制作源码+数据库+系统+lw文档+部署 java计算机毕业设计爱心公益网站设计与制作源码+数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  2. java毕业生设计爱心公益网站设计与制作计算机源码+系统+mysql+调试部署+lw

    java毕业生设计爱心公益网站设计与制作计算机源码+系统+mysql+调试部署+lw java毕业生设计爱心公益网站设计与制作计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B ...

  3. java毕业设计宠物爱心驿站Mybatis+系统+数据库+调试部署

    java毕业设计宠物爱心驿站Mybatis+系统+数据库+调试部署 java毕业设计宠物爱心驿站Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...

  4. java毕业设计宠物爱心救助系统Mybatis+系统+数据库+调试部署

    java毕业设计宠物爱心救助系统Mybatis+系统+数据库+调试部署 java毕业设计宠物爱心救助系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  5. Java控制台打印爱心算法(今典算法案例)

    Java控制台打印爱心算法(今典算法案例) 要求:利用java语言编写算法在控制台打印爱心算法(根据输入参数的大小决定爱心的大小): 先给大家看看运行的结果吧 输入6 输入8 输入10 相信大家在学习 ...

  6. 九宫格一条线连起来_九宫格9张图片无水印心形线条连起来_七夕情人节爱心朋友圈图片...

    九宫格9张图片无水印心形线条连起来_七夕情人节爱心朋友圈图片 朋友圈9张图片用心形线条连起来怎么弄 依次点击图片 → 弹出原图→保存到手机 (中间的图片可以换成自己喜欢的照片) 同时小编还为大家准备了 ...

  7. 使用Java语言打印爱心

    好的.在 Java 中要打印出爱心,你可以使用 Unicode 字符,其中 U+2764 是爱心的 Unicode 代码点.你可以这样写代码: System.out.println("\u2 ...

  8. Java实现窗体爱心移动特效

    在整个窗体上进行爱心移动并且不影响鼠标操作其他的软件 1.先创建窗体的外壳(就像门框)代码: package com.jerry.classs;import java.awt.Toolkit;impo ...

  9. 一行 Python 代码制作七夕节爱心

    有人说一辈子很短,短到一辈子都找不到心爱的人.有人说一行代码很短,短到好像什么也做不了.但我会说,给我一行代码的空间,还你专属爱心! print('\n'.join([''.join([('AndyL ...

最新文章

  1. Vant 使用之Toast Vant安装和使用
  2. Golang for循环使用多个变量
  3. addroid 自定义布局
  4. 论文阅读02:基于深度学习的图像细粒度分类算法
  5. 光学相干断层成像术(OCT)
  6. mysql数据库远程安装,Linux_15:解决远程安装数据库
  7. 你来比划我来猜 绿色游戏猜词小软件
  8. 如何将mpg格式转换为mp4格式?
  9. 高斯法求解方程原理及实现
  10. 简单编程(五)编程验证一下“角谷猜想”
  11. 什么是语法糖(Syntactic sugar)?
  12. 如何制作小游戏(c++教程)(新手版)(1)
  13. 社科院与杜兰大学金融管理硕士项目——与优秀的人同行,做更好的自己!
  14. vue如何获取并操作DOM元素
  15. .xin 是什么域名?个人能使用吗?
  16. 基于Python的新闻聚合网站设计与实现
  17. Au:录音中常见问题修复
  18. 国际法学19春在线作业1-0005
  19. 【VUE】二维码解析
  20. eSIM终端的生产流程的思考

热门文章

  1. Buffer(缓冲器)
  2. honor荣耀为什么要研发高端?
  3. 支付设计白皮书:支付系统的总架构
  4. 关于卫星伪距残差的理解
  5. java代码打出一只狗_牛逼!这位程序员开发出一“舔狗”必备神器(代码已开源)!...
  6. gucci红包封面怎么抽 gucci红包封面怎么领取
  7. 计算机休眠唤醒后 网络受限,Windows 10中的睡眠/唤醒/休眠状态后,Wi-Fi网络消失...
  8. alsa 麦克风采集音频
  9. 使用Validation框架检查数据格式
  10. vue 使用vue-canvas-poster生成自定义海报