Java 窗口 绘制图形 #1 您所在的位置:网站首页 java绘制窗口 Java 窗口 绘制图形 #1

Java 窗口 绘制图形 #1

2024-03-23 08:04| 来源: 网络整理| 查看: 265

写在前面:

  editplus换成eclipse了

  Sketchpad要钱,买不起

  自己搞(rua)

by emeralddarkness

  建立了一个平面直角坐标系

  两个变元x,y,参数i

  实现了以下功能:

    调节窗口大小

    放缩单位长度

    改变原点位置

    改变参数方程

  离超过Sketchpad还有十万八千里路要走呃呃呃

 

  运行效果:

1 static double ponyX(double i){ 2 return 4*Math.sin(i); 3 } 4 static double ponyY(double i){ 5 return 6*Math.cos(i); 6 }

 

1 static double ponyX(double i){ 2 return 4/Math.cos(i); 3 } 4 static double ponyY(double i){ 5 return 6*Math.tan(i); 6 }

 

1 static double ponyX(double i){ 2 return i; 3 } 4 static double ponyY(double i){ 5 return i*i-i*4+2; 6 }

 

1 static double ponyX(double i){ 2 return i; 3 } 4 static double ponyY(double i){ 5 return i*4+5; 6 }

 

1 static double ponyX(double i){ 2 return 4*Math.sin(i)+2; 3 } 4 static double ponyY(double i){ 5 return 4*Math.cos(i)+3; 6 }

 

  还能画出来各种奇奇怪怪的图形,比如说胡子

 

代码如下:

1 import java.awt.*; 2 import java.awt.event.*; 3 import java.awt.Graphics; 4 import java.io.*; 5 import java.util.*; 6 import javax.swing.ImageIcon; 7 import javax.swing.JFrame; 8 import javax.swing.JPanel; 9 10 public class PonysAlgorithm extends JFrame 11 { 12 static int winX=800,winY=600; 13 static int ponyIE=30; 14 static int zeroX=winX/2,zeroY=winY/2; 15 static int ponyPrecision=100; 16 17 static double ponyX(double i){ 18 return 4*Math.sin(i)+2; 19 } 20 static double ponyY(double i){ 21 return 4*Math.cos(i)+3; 22 } 23 24 public static void main(String[] args) throws Exception 25 { 26 JFrame ponyFrame=new JFrame("Pony's Algorithm"); 27 ponyFrame.setLayout(null); 28 JPanel ponyJPanel=new JPanel(){ 29 public void paint(Graphics g){ 30 super.paint(g); 31 32 g.setColor(Color.GRAY); 33 /*Coordinate Axis*/ 34 g.drawLine(zeroX, 0, zeroX, winY); 35 g.drawLine(0, zeroY, winX, zeroY); 36 37 for(int i=zeroX+ponyIE;i0;i-=ponyIE) 40 g.drawLine(i, zeroY-5, i, zeroY+5); 41 for(int i=winY+ponyIE;i0;i-=ponyIE) 44 g.drawLine(zeroX-5, i, zeroX+5, i); 45 46 for(int i=1;zeroX+i*ponyIE0;--i) 49 g.drawString(""+i, zeroX+i*ponyIE-4, zeroY+20); 50 for(int i=1;zeroY+i*ponyIE0;--i) 53 g.drawString(""+(-i), zeroX-25, zeroY+i*ponyIE+4); 54 55 g.setColor(Color.BLACK); 56 /*CORE*/ 57 int tmpa,tmpb; 58 for(int i=-10000;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有