Java 窗口 绘制图形 #1 | 您所在的位置:网站首页 › java绘制窗口 › Java 窗口 绘制图形 #1 |
写在前面: editplus换成eclipse了 Sketchpad要钱,买不起 自己搞(rua) by emeralddarkness 建立了一个平面直角坐标系 两个变元x,y,参数i 实现了以下功能: 调节窗口大小 放缩单位长度 改变原点位置 改变参数方程 离超过Sketchpad还有十万八千里路要走呃呃呃
运行效果:
还能画出来各种奇奇怪怪的图形,比如说胡子
代码如下: 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 实验室设备网 版权所有 |