A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.zuidaima.swing;  
  
import java.awt.Color;  
import java.awt.Graphics;  
import java.awt.Image;  
import java.awt.Toolkit;  
  
import javax.swing.JFrame;  
  
@SuppressWarnings("serial")  
class Cardioid extends JFrame {  
    // 定义窗口大小  
    private static final int WIDTH = 480;  
    private static final int HEIGHT = 600;  
  
    // 获取屏幕大小  
    private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit()  
            .getScreenSize().width;  
    private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit()  
            .getScreenSize().height;  
  
    // 构造函数  
    public Cardioid() {  
        // 设置窗口标题  
        super("?形线");  
        // 设置背景色  
        this.setBackground(Color.BLACK);  
        // 设置窗口位置  
        this.setLocation((WINDOW_WIDTH - WIDTH) / 2,  
                (WINDOW_HEIGHT - HEIGHT) / 2);  
        // 设置窗口大小  
        this.setSize(WIDTH, HEIGHT);  
        // 设置窗口布局  
        this.setLayout(getLayout());  
        // 设置窗口可见  
        this.setVisible(true);  
        // 设置窗口默认关闭方式  
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);  
    }  
  
    public void paint(Graphics g) {  
  
        double x, y, r; // 横纵坐标及半径  
        Image image = this.createImage(WIDTH, HEIGHT);  
        Graphics pic = image.getGraphics();  
  
        // 绘制图形  
        for (int i = 0; i < 100; i++) {  
            for (int j = 0; j < 100; j++) {  
                r = Math.PI / 45 + 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 / 2;  
  
                pic.setColor(Color.MAGENTA);  
                pic.fillOval((int) x, (int) y, 2, 2);  
            }  
            // 生成图片  
            g.drawImage(image, 0, 0, this);  
  
        }  
  
    }  
  
    public static void main(String[] args) {  
  
        new Cardioid();  
    }  
  
}  

7 个回复

倒序浏览
厉害
回复 使用道具 举报
有点意思,我试试
回复 使用道具 举报
回复 使用道具 举报
bangbang da da da
回复 使用道具 举报
这是啥?
回复 使用道具 举报
进来看看,谢谢!
回复 使用道具 举报
效果图呢..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马