java心形代码初学者_java输出爱心代码

java心形代码初学者_java输出爱心代码绘制心形曲线1.要求非常有名的笛卡尔曲线数学公式:(x2+y2−2ax)2=4a2(x2+y2)(x^{2}+y^{2}-2ax)^{2}=4a^{2}(x^{2}+y^{2})(x2+y2−2ax)2=4a2(x2+y2)即心形曲线,本例通过Applet绘制出笛卡尔曲线。2.实现过程笛卡尔曲线是一个圆在同样半径的圆周上滚动,在滚动的过程中一定会形成轨迹曲线。它的数学方程为x=a(2c…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

绘制心形曲线


1.要求

非常有名的笛卡尔曲线数学公式: ( x 2 + y 2 − 2 a x ) 2 = 4 a 2 ( x 2 + y 2 ) (x^{2}+y^{2}-2ax)^{2}=4a^{2}(x^{2}+y^{2}) x2+y22ax2=4a2(x2+y2) 即心形曲线,本例通过Applet绘制出笛卡尔曲线。

2.原理

笛卡尔曲线是一个圆在同样半径的圆周上滚动,在滚动的过程中一定会形成轨迹曲线。它的数学方程为 x = a ( 2 c o s ( t ) − c o s ( 2 t ) ) x=a(2cos(t)-cos(2t)) x=a(2cos(t)cos(2t)) y = a ( 2 s i n ( t ) − s i n ( 2 t ) ) y=a(2sin(t)-sin(2t)) y=a(2sin(t)sin(2t)) r = 2 a ( 1 + c o s ( θ ) ) r=2a(1+cos(\theta )) r=2a(1+cos(θ))
算法实现:

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)+width/2; y=-r*Math.sin(Math.PI/45*j)+height/4; 

3.语法

  • init方法,对Applet程序进行初始化,当Applet首先被加载时,该方法会自动被调用一次。
  • paint方法,将Graphics对象画出的图像打印出来.
  • Math类的方法说明:Math.PI是Math的一个final常量,表示比任何其他值更接近圆的周长与直径之比pi;Math。Sin()表示返回角的三角正弦;Math.cos()表示返回角的三角余弦。

4.代码

import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.applet.*; import java.awt.*; public class rw32 extends Applet { 
     int width,height; //声明int类型变量 Image image;//声明图像变量 Graphics draw_Curve;//声明图形绘制变量 public void init(){ 
    //Applect程序初始化 setBackground(Color.black); this.setSize(450,410); width=getSize().width; height=getSize().height; image=createImage(width,height); draw_Curve=image.getGraphics(); } public void paint(Graphics g){ 
     //利用Graphics绘制组件 draw_Curve.clearRect(0, 0, width, height);//用制定颜色填充清除指定的矩形 draw_Curve.setColor(Color.red); int i,j; double x,y,r; for(i=0;i<=90;i++)//笛卡尔数学公式:(x*x+y*y-2ax)2=4a*a(x*x+y*y) for(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)+width/2; y=-r*Math.sin(Math.PI/45*j)+height/4; draw_Curve.fillOval((int)x, (int)y, 2, 2); } g.drawImage(image,0,0,this); } public static void main(String[] args){ 
     System.out.println("笛卡尔心形曲线已成功显示"); } } 

5.结果

运行后结果如下图所示:
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181230.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月16日 下午8:36
下一篇 2022年10月16日 下午8:36


相关推荐

  • 查看php的配置文件Php.ini的位置

    查看php的配置文件Php.ini的位置

    2021年9月25日
    120
  • 如何删除LDSGameMaster

    如何删除LDSGameMaster如何删除LDSGameMaster背景介绍方法一方法二背景介绍最近不小心下载安装了鲁大师,卸载之后,C盘中仍有一个名为LDSGameMaster的文件夹。虽然很小,之后18M,但是一定要删除掉,否则心里很不舒服。方法一百度告诉我,解决这个问题很简单。这个文件夹中有个uninstall,运行之后就没有了。但我没有发现我的文件夹中有这么一个东西。这个方法不提。方法二删除之后,提示:操作无法…

    2022年6月13日
    217
  • PLSQL操作Oracle创建用户和表

    PLSQL操作Oracle创建用户和表1、打开PLSQL,填写用户名和密码(初始有两个用户sys和system,密码是自己安装oracle数据库时定的),Database选择ORCL(默认数据库,oracle中创建的用户就像是mysql中建的数据库,两者有异曲同工之妙)2、登陆成功后在界面的头部可以看到一下信息,最上面的system@ORCL就表示是用户system在登录状态,其中菜单栏的session可以登录、退出…

    2022年5月19日
    46
  • H5请在微信客户端打开链接「建议收藏」

    H5请在微信客户端打开链接「建议收藏」H5判断必须在微信中打开<!DOCTYPEhtml><html><head><metacharset=”utf-8″><title></title></head><body></body><scripttype=”text/j…

    2022年6月7日
    49
  • 用Python做一个久坐提醒小助手

    用Python做一个久坐提醒小助手不论是日常的工作还是学习,现代年轻人在电脑屏幕时长数据能让人惊掉下巴,继而引发一系列身体不适的现象。小李也是久坐族中的一员,为了时刻提醒自己起来活动活动,我开发了一款基于PythonGUI编程的久坐提醒小助手。整体设计整体的构思类似于一个番茄时钟,提供一个倒计时功能并且在完成计时时发出警告。主要分为如下几个模块,一是时间选择模块,二是按钮模块,控制计时开始、暂停以及恢复,三是倒计时显示模块…

    2022年9月30日
    6
  • Netty权威指南学习笔记

    Netty权威指南学习笔记最近花了一段时间系统的学习了Netty框架,包括《NettyinAction》以及《Netty权威指南》,对于博主自己来说,我觉得《Netty权威指南》要更适合博主。很厚的《Netty权威指南》权威指南,虽然上面一大部分是例子代码,当然有种跟着Netty官网学小demo的感觉。好记性不如烂笔头,所有代码均手抄Maven实现了一遍,所有例子均可运行,当然自己的学习笔记。Chapter2…

    2022年10月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号