日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Cardioid 心脏形曲线 (整理)

發布時間:2025/7/14 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Cardioid 心脏形曲线 (整理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 package demo; 2 3 import java.awt.Color; 4 import java.awt.Graphics; 5 6 import javax.swing.JFrame; 7 import javax.swing.JPanel; 8 9 /** 10 * Java Cardioid 心臟形曲線 (整理) 11 * 這是以前看到有關Cardioid一個故事之后,覺得好玩,那時把它實現了。 12 * 13 * 2016-1-2 深圳 南山平山村 曾劍鋒 14 */ 15 public class Cardioid extends JPanel{ 16 /** 17 * <ol> 18 * <li>centerX:代表x軸中心點坐標 19 * <li>centerY:代表y軸中心店坐標 20 * </ol> 21 * 整個窗口的長、寬等于2*centerX、2*centerY,這么做的目的是保證數據的統一性修改 22 * 當然你也可以考慮使用長、寬來表示,然后對他們進行取一半得到中心店坐標。 23 * 24 */ 25 static int centerX = 600/2; 26 static int centerY = 600/2; 27 /** 28 * angle:主要用于角度計算,下面程序中的for循環里的變量,360一個周期 29 */ 30 int angle; 31 /** 32 * <ol> 33 * <li>a:窗口中有2個心形圖,a是其中一個的幅值 34 * <li>b:窗口中有2個心形圖,b是其中一個的幅值 35 * </ol> 36 * 2個心形圖,2個幅值,但初始值是不一樣的。 37 */ 38 int a = 0; 39 int b = 50; 40 /** 41 * 構造函數調用start()函數。<br> 42 * 作用:開啟一個線程,主要用于調整a、b的值,并刷新界面。 43 */ 44 public Cardioid() { 45 start(); 46 } 47 /** 48 * 重寫paint()<br> 49 * 程序流程:<ol> 50 * <li>調用父類paint方法、并設置背景顏色為黑色 51 * <li>用for循環畫兩個發散的心形圖 52 * </ol> 53 */ 54 @Override 55 public void paint(Graphics graphics) { 56 super.paint(graphics); 57 this.setBackground(Color.black); 58 graphics.setColor(Color.red); 59 /* 60 * 這里是難點,主要是因為需要對坐標進行定位,下面是獲取x、y的坐標公式,你可以在網上查到 61 * x=a*(2*sin(t)-sin(2*t)) 62 * y=a*(2*cos(t)-cos(2*t)) 63 * 這里的x、y和網上的公式對調了,主要是因為需要進行y=x對稱,網上的圖是橫著的,這個圖是正著的。 64 * sin()函數傳入的是弧度制,所以需要通過angle*Math.PI/180,將角度值換成幅度值 65 * 其中的500主要是用于坐標調整的,沒有理由,是我自己試出來的,我也沒有去深究為什么,因為功能完成了。 66 */ 67 for (angle = 0; angle < 360; angle++) { 68 graphics.drawLine( 69 centerY+(int)(a*(2*Math.sin(angle*Math.PI/180)-Math.sin(2*angle*Math.PI/180))), 70 500 -(centerX+(int)(a*(2*Math.cos(angle*Math.PI/180)-Math.cos(2*angle*Math.PI/180)))), 71 centerY+(int)((a+3)*(2*Math.sin((angle)*Math.PI/180)-Math.sin(2*(angle)*Math.PI/180))), 72 500 -(centerX+(int)((a+3)*(2*Math.cos((angle)*Math.PI/180)-Math.cos(2*(angle)*Math.PI/180))))); 73 } 74 for (angle = 0; angle < 360; angle++) { 75 graphics.drawLine( 76 centerY+(int)(b*(2*Math.sin(angle*Math.PI/180)-Math.sin(2*angle*Math.PI/180))), 77 500 -(centerX+(int)(b*(2*Math.cos(angle*Math.PI/180)-Math.cos(2*angle*Math.PI/180)))), 78 centerY+(int)((b+3)*(2*Math.sin((angle)*Math.PI/180)-Math.sin(2*(angle)*Math.PI/180))), 79 500 -(centerX+(int)((b+3)*(2*Math.cos((angle)*Math.PI/180)-Math.cos(2*(angle)*Math.PI/180))))); 80 } 81 } 82 /** 83 * 創建一個匿名線程,線程主要完成以下事情:<ol> 84 * <li>改變a、b的值,相當于改變心形線的幅值; 85 * <li>延時20ms; 86 * <li>刷新界面repaint(); 87 * </ol> 88 */ 89 public void start() { 90 new Thread(new Runnable() { 91 92 @Override 93 public void run() { 94 while (true) { 95 try { 96 if (a++ >100) { 97 a = 0; 98 } 99 if (b++ >100) { 100 b = 0; 101 } 102 Thread.sleep(20); 103 repaint(); 104 } catch (InterruptedException e) { 105 e.printStackTrace(); 106 } 107 } 108 109 } 110 }).start(); 111 } 112 /** 113 * 主函數完成以下內容:<ol> 114 * <li>初始化jframe窗口; 115 * <li>創建cardioid,并將cardioid填充到jFrame中; 116 * <li>設置jFrame可見。 117 * </ol> 118 */ 119 public static void main(String[] args) { 120 JFrame jFrame = new JFrame(); 121 jFrame.setTitle("Cardioid"); 122 jFrame.setSize(centerX*2, centerY*2); 123 jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 124 jFrame.setLocationRelativeTo(null); 125 126 Cardioid cardioid = new Cardioid(); 127 jFrame.add(cardioid); 128 jFrame.setVisible(true); 129 } 130 }

?

轉載于:https://www.cnblogs.com/zengjfgit/p/5094721.html

總結

以上是生活随笔為你收集整理的Java Cardioid 心脏形曲线 (整理)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩综合在线观看 | 久久精品这里 | 欧美精品乱码久久久久久 | 午夜偷拍福利 | 成年人香蕉视频 | 国产成人午夜精品 | 国产精品18久久久久久无码 | 婷婷色伊人 | 国产操| 伊人网在线视频 | 国产毛片毛片毛片毛片毛片毛片 | 国产毛片基地 | 91肉色超薄丝袜脚交一区二区 | 999精品国产 | 国产a不卡 | 一区二区欧美日韩 | 亚洲av人人澡人人爽人人夜夜 | 久久综合综合 | 久久婷婷国产麻豆91 | 日韩乱码人妻无码系列中文字幕 | 亚洲情人网 | 蜜桃视频一区二区 | 午夜资源| 日韩av电影一区 | 色综合天天综合综合国产 | 国产片91| 日本免费一区视频 | 香蕉视频官网 | 色综合久久久久久久 | 亚洲精品美女在线观看 | 亚洲精品成人a | 亚洲精品白浆高清久久久久久 | 成年人在线观看视频网站 | 日日操视频 | 91精品国产综合久久久蜜臀九色 | aaa一级黄色片 | 午夜精品一区二 | 国产夜夜爽| 日韩色网 | 久久成人国产 | www国产| 视频在线观看免费大片 | 九月婷婷色 | 日本网站免费观看 | 欧美黑人做爰爽爽爽 | 中国吞精videos露脸 | wwwwyoujizzcom| 日本妈妈9 | 蜜桃av免费在线观看 | 妖精视频在线观看免费 | 波多野结衣www | 国产97在线 | 亚洲 | 日韩美女中文字幕 | 成人午夜影片 | 久久综合综合久久 | 欧美极品一区二区三区 | 国产在线1区 | 中文字母av| 国产伦精品一区二区三区妓女下载 | 亚洲国产黄色片 | 超碰99热 | 窝窝午夜看片 | 久久香蕉热 | 黑人巨大精品人妻一区二区 | 久久精品—区二区三区舞蹈 | 在线观看日本网站 | 女人被狂躁c到高潮 | 综合色亚洲 | 蜜臀av夜夜澡人人爽人人 | 另类专区成人 | 国产主播在线看 | 婷婷6月天 | 亚洲免费激情视频 | 亚洲一区二区av在线 | 午夜成人免费电影 | 亚洲91色 | 亚洲九九夜夜 | 91九色中文 | 久久久精品视 | 久久99精品国产麻豆婷婷洗澡 | www.插插 | 尤物精品视频 | 美女扒开下面让男人捅 | 深夜久久 | www在线观看国产 | 日韩欧美不卡在线 | 活大器粗np高h一女多夫 | 国产一区二区影院 | 亚洲高清在线一区 | 日韩中文字幕网址 | 精品久久久久久久久久久久久久久久久 | 成人激情视频在线播放 | 一区二区三区四区av | 久久久久久影视 | 精东影业一区二区三区 | 鲁丝av| 越南毛茸茸的少妇 | 欧美日韩国产片 | 经典一区二区 |