永发信息网

用java语言绘制正弦曲线

答案:2  悬赏:50  手机版
解决时间 2021-01-23 18:48
用java语言绘制正弦曲线
最佳答案
很简单,程序写给你,给分:
---------------------------------------------
import java.awt.*;
import javax.swing.JFrame;
import java.util.Random;
import java.text.DecimalFormat;
public class SinDemo extends JFrame {
        private double cx = 1, cy = 1;
        private double toCx = 1, toCy = 1;
        private Random rnd = new Random();
        private DecimalFormat df = new DecimalFormat("0.00");
        private SinDemo () {
                super("Sin-Demo");
                setSize(600, 600);
                setLocationRelativeTo(null);
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setVisible(true);
                run();
        }
        private int translateX (double x) {
                return (int)(x*getWidth()/Math.PI/4 + getWidth()/2);
        }
        private int translateY (double y) {
                return (int)(getHeight()/2 - y*getWidth()/Math.PI/4);
        }
        private double sin (double x) {
                return (cy * Math.sin(cx * x));
        }
        @Override
        public void paint (Graphics g) {
                super.paint(g);
                g.setColor(Color.BLUE);
                g.drawString("y = " + df.format(cx) + " * sin( " + df.format(cy) + " * x)", 50, 50);
                g.setColor(Color.LIGHT_GRAY);
                g.drawLine(0, getHeight()/2, getWidth(), getHeight()/2);
                g.drawLine(getWidth()/2, 0, getWidth()/2, getHeight());
                g.setColor(Color.BLACK);
                for (double i=-Math.PI/cx; i                        g.drawLine(translateX(i), translateY(sin(i)),
                                translateX(i+0.1), translateY(sin(i+0.1)));
        }
        public void run () {
                while (true) {
                        if (Math.abs(cx - toCx) < 0.1) {
                                toCx = rnd.nextDouble()*2;
                                toCy = rnd.nextDouble()*2;
                        }
                        cx += (toCx - cx)/50;
                        cy += (toCy - cy)/50;
                        paint(getGraphics());
                        try {
                                Thread.sleep(80);
                        } catch (InterruptedException ie) {}
                }
        }
        public static void main (String args[]) {
                new SinDemo();
        }

-------------------------------------------------
再给你一个截图:

全部回答
你去找找thinking in java第四版
gui部分有一个话正弦曲线的,
而且可以有slider控制曲线变换
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鸿源旅馆(平顶山汝州市)地址在哪,我要去那里
石景山区石景山实验幼儿园地址好找么,我有些
阅读下面两篇文言文,完成小题。【甲】普少习
鑫洲宾馆(平顶山汝州市)地址有知道的么?有点
无纺布制备方法?
孕40周双顶径9.5头围34.9腹围35.9股骨长7.6大
北京市家宝贝艺术幼儿园地址在哪,我要去那里
dnf永恒守护属性怎么样 90级史诗手套属性一览
宁波栎社国际机场只有一条跑到吗?
SHE要出新专集了吗?
中兴手机开不了机怎么办
北京京源幼儿园地址在什么地方,我要处理点事
该图是极地为中心的某半球气压带、风带分布示
宏发旅馆(平顶山汝州市)地址在哪,我要去那里
家里路由器有两个网络,无线打印机连了一个网
推荐资讯
某元素原子核外有三个电子层,第二层的电子数
通达oa精灵怎样把微讯改为聊天
单选题玉米的高甜对非甜为一对相性状,现有两
MassimoDutti(朝阳大悦城店)地址在什么地方,
优衣库(凯德晶品购物中心店)地址在什么地方,
华思机械地址在什么地方,想过去办事,
百特广告图文设计制作中心地址好找么,我有些
中国工商银行股份有限公司(昌黎荒佃庄支行)地
庆阳金晟汽车商贸有限公司地址在什么地方,我
公司给员工转移社保需要补缴转正前的社保吗?
ps3 cechg01型号是双65nm吗
江西有哪些比较好的专业学校?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?