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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java框架总结

    Java框架总结本系列用来记录常用java框架的基本概念、区别及联系,也记录了在使用过程中,遇到的一些问题的解决方法,方便自己查看,也方便大家查阅。欲速则不达,欲达则欲速!一、SSH1、基本概念SSH框架是JAVAEE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成,是当前比较流行的javaweb开源框架。集成SSH框架的系统从职责上分为(Struts2–…

    2022年7月9日
    16
  • 【Quartz】定时器初步实验(一)

    【Quartz】定时器初步实验(一)以前就了解了Quartz这个定时框架,但是一直没有认真的去关注他,最近忽然看到已经更新到3.0.4支持异步操作了所以就写个简单的小例子看看好用不。第一步:创建项目创建一个新项目,可以是ASP.NE

    2022年7月1日
    26
  • mysql odbc下载(mysql8下载)

    1.下载JDBC驱动的MySQL官网:https://www.mysql.com/2.按步骤下载

    2022年4月10日
    28
  • java中jbpm工作流_node 工作流引擎

    java中jbpm工作流_node 工作流引擎1.      JBPM工作流引擎是用来做什么的首先要说明的一点是工作流引擎指的并不只是JBPM,JBPM只是工作流引擎的一种。JBPM利用JPDL流程定义语言将现实生活中处理事务的业务流程进行抽象,形成一套业务流程规则,只要处理该项业务就必须按照这个流程规则进行。举一个很简单的例子,就拿看医生来讲,看医生的整个流程必须是先挂号,再看病,再抓药,只要你进行看医生这个业务就必须按照这套流程进行。

    2022年9月9日
    3
  • 寻找最长回文子串

    寻找最长回文子串最长回文子串的问题描述:给出一个字符串S,求S的最长回文子串的长度。样例:字符串”PATZJUJZTACCBCC”的最长回文子串为“ATZJUJZTA”,长度为9。先看暴力解法:枚举子串的两个端点i和j,判断在i,区间内的子串是否回文。从复杂度上来看,枚举端点需要O(n2),判断回文需要O(n),因此总复杂度是O(n3)。介绍动态规划的方法,使用动态规划可以达到…

    2022年5月22日
    40
  • 基于支持向量机的机械零件剩余寿命区间估计

    基于支持向量机的机械零件剩余寿命区间估计

    2021年11月21日
    71

发表回复

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

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