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

歡迎訪問 生活随笔!

生活随笔

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

java

用Java编写模仿的太阳系(九星行旋转)--原创

發布時間:2023/12/15 java 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Java编写模仿的太阳系(九星行旋转)--原创 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼簡單,完全是算法的總結和線程

package sun; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /****@author huyongjian Oracle(Compus Solution Group)* @Date 2013-7-22* @version 2.0* @since JDK1.6(建議)Copy Right Information COMPUS SOLUTION GROUPIDE:Eclipseclass:SolarSystem 太陽系運動軌跡*/ public class SolarSystem extends Frame{double x , x1 = 200,x2 = 200,x3 = 200,x4 = 200,x5 = 200,x6 = 200,x7 = 200,x8 = 200;double y , y1 = 200,y2 = 200,y3 = 200,y4 = 200,y5 = 200,y6 = 200,y7 = 200,y8 = 200;double t = 0,t1 = 0,t2 = 0,t3 = 0,t4 = 0,t5 = 0,t6 = 0,t7 = 0,t8 = 0;private Image offScreenImage = null;void loadFrame(){this.setSize(900,900);this.setLocation(50,50);this.setTitle("太陽系");this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e) {System.exit(0);}});this.setVisible(true); // this.setColor.black);new PaintThread().start();}public void update(Graphics g) {if(offScreenImage == null)offScreenImage = this.createImage(900, 900);Graphics gOff = offScreenImage.getGraphics();Color oldColor = gOff.getColor();gOff.setColor(Color.GREEN);gOff.fillRect(0, 0, 900, 900);gOff.setColor(oldColor);paint(gOff);g.drawImage(offScreenImage, 0, 0, null);}Image sun = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/sun.jpg");Image bg = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/bg.jpg");Image mercury = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Mercury.jpg");Image venus = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Venus.jpg");Image earth = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Earth.jpg");Image mars = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Mars.jpg");Image jupiter = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Jupiter.jpg");Image saturn = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Saturn.jpg");Image uranus = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Uranus.jpg");Image neptune = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/Neptune.jpg");Image moon = Toolkit.getDefaultToolkit().getImage("p_w_picpaths/moon.jpg");public void paint(Graphics g){g.setColor(Color.blue);g.drawImage(bg , 0 , 0 , null);g.drawImage(sun , 435 , 435 , null);g.drawOval(401, 415, 88, 60);g.drawOval(375, 395, 140, 100);g.drawOval(335, 365, 220, 160);g.drawOval(285, 335, 320, 220);g.drawOval(155, 275, 580, 340);g.drawOval(120, 245, 650, 400);g.drawOval(80, 210, 730, 470);g.drawOval(10, 165, 870, 560);t1 = t1 + Math.PI / 8.8; //公轉周期為88天t2 = t2 + Math.PI / 22.5;t3 = t3 + Math.PI / 36.5;t = t + Math.PI / 0.1;t4 = t4 + Math.PI / 68.7;t5 = t5 + Math.PI / 432.9;t6 = t6 + Math.PI / 1076.8;t7 = t7 + Math.PI / 3066.0;t8 = t8 + Math.PI / 6015.2;g.drawImage(mercury , (int)x1 ,(int)y1, null);x1 = 440 + 44 * Math.cos(t1);y1 = 440 + 30 * Math.sin(t1);g.drawImage(venus , (int)x2 ,(int)y2, null);x2 = 440 + 70 * Math.cos(t2);y2 = 440 + 50 * Math.sin(t2);g.drawImage(earth , (int)x3 ,(int)y3, null);x3 = 440 + 110 * Math.cos(t3);y3 = 440 + 80 * Math.sin(t3);g.drawImage(moon , (int)x ,(int)y, null);x = x3 + 15 * Math.cos(t1);y = y3 + 15 * Math.sin(t1);g.drawImage(mars , (int)x4 ,(int)y4, null);x4 = 440 + 160 * Math.cos(t4);y4 = 440 + 110 * Math.sin(t4);g.drawImage(jupiter , (int)x5 ,(int)y5, null);x5 = 435 + 290 * Math.cos(t5);y5 = 435 + 170 * Math.sin(t5);g.drawImage(saturn , (int)x6 ,(int)y6, null);x6 = 428 + 325 * Math.cos(t6);y6 = 428 + 200 * Math.sin(t6);g.drawImage(uranus , (int)x7 ,(int)y7, null);x7 = 435 + 365 * Math.cos(t7);y7 = 435 + 235 * Math.sin(t7);g.drawImage(neptune , (int)x8 ,(int)y8, null);x8 = 435 + 435 * Math.cos(t8);y8 = 435 + 280 * Math.sin(t8);}public static void main(String[] args){SolarSystem ball = new SolarSystem();ball.loadFrame();}private class PaintThread extends Thread{public void run(){while(true){repaint();try {Thread.sleep(40);} catch (InterruptedException e) {e.printStackTrace();}}}} }


轉載于:https://blog.51cto.com/1936625305/1282122

總結

以上是生活随笔為你收集整理的用Java编写模仿的太阳系(九星行旋转)--原创的全部內容,希望文章能夠幫你解決所遇到的問題。

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