java代码四叶玫瑰线 java四叶玫瑰数
java图形用户设计。 三叶玫瑰线谢谢了
按照你的要求编写的Java图形界面画的三叶玫瑰线程序如下:
江苏网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
//三叶玫瑰线
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BB extends JFrame {
MyJPanel mjp=new MyJPanel();
BB(){
add(mjp);
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
this.validate();
}
public static void main(String[] args) {
new BB();
}
}
class MyJPanel extends JPanel implements ComponentListener{
MyJPanel(){
this.setBackground(Color.WHITE);
}
int roses=3;
public void paint(Graphics g){
super.paint(g);
int x0, y0;
x0 = this.getWidth() / 2;
y0 = this.getHeight() / 2;
g.setColor(Color.BLUE);
g.drawLine(x0, 0, x0, y0 * 2);
g.drawLine(0, y0, x0 * 2, y0);
ListInteger listx=new ArrayListInteger();
ListInteger listy=new ArrayListInteger();
for (int i = 0; i 1024; i++) {
double angle = i * Math.PI / 512;
double radius = 200*Math.sin(roses * angle);
int x = (int) Math.round(radius * Math.cos(angle));
int y = (int) Math.round(radius * Math.sin(angle));
listx.add(x0+x);
listy.add(y0+y);
}
for (int i = 0; i listx.size()-1; i++) {
g.drawLine(listx.get(i),listy.get(i), listx.get(i+1), listy.get(i+1));//画点
}
}
@Override
public void componentHidden(ComponentEvent arg0) {}
@Override
public void componentMoved(ComponentEvent arg0) {}
@Override
public void componentResized(ComponentEvent arg0) {
repaint();
}
@Override
public void componentShown(ComponentEvent arg0) {}
}
运行结果:
rose=3时
rose=4时
rose=5时
当变量rose等于其它值时的图案,你自己试吧,这里我就不展示了.
四叶玫瑰线怎么画出来
设备:纸张,铅笔,直尺。
四叶玫瑰线的一种定义:定长线段AB =2a,它的两个端点在垂直两直线上滑动,从两直线的交点O向线段AB作垂线OM,垂足M的轨迹称一’为四叶玫瑰线(见图).其极坐标方程为P=a sin 2B。
简介
极坐标系是一个二维坐标系统。该坐标系统中任意位置可由一个夹角和一段相对原点—极点的距离来表示。极坐标系的应用领域十分广泛,包括数学、物理、工程、航海、航空以及机器人领域。在两点间的关系用夹角和距离很容易表示时,极坐标系便显得尤为有用。
而在平面直角坐标系中,这样的关系就只能使用三角函数来表示。对于很多类型的曲线,极坐标方程是最简单的表达形式,甚至对于某些曲线来说,只有极坐标方程能够表示。
求JAVA代码三叶玫瑰线 r=asin3θ或r=acos3θ。别把那个垃圾的粘过来,谢谢
package epm.mp.gateway.util;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
public class Rose extends JFrame implements ComponentListener, ItemListener {
private JComboBox comboboxColor;
// 颜色组合框
public Rose() {
super("玫瑰线");
this.setSize(600, 400);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
Object data[] = { Color.red, Color.green, Color.blue };
comboboxColor = new JComboBox(data);
// 颜色组合框
comboboxColor.addItemListener(this);
// 注册组合框的选择事件监听器
this.add(comboboxColor);
this.addComponentListener(this);
// 注册框架窗口的选择事件监听器
this.setVisible(true);
this.validate();
}
//r=asin3θ
//转化为直角坐标系
// 输入下面程序用于输出三叶玫瑰线的图形,三叶玫瑰线的参数方程为:
// x = r * sin(3t)* cos(t);
//y = r *sin(3t) * sin(t)
//其中: 0 = t = 2 * 3.14159
//
public void paint(Graphics g){
paint(g,3);
}
public void paint(Graphics g,int roses) {
int x0, y0;
// 原点坐标
x0 = this.getWidth() / 2;
// 窗口的宽度
y0 = this.getHeight() / 2;
g.setColor((Color) comboboxColor.getSelectedItem());
// 设置画线颜色为组合框选中颜色
g.drawLine(x0, 0, x0, y0 * 2);
g.drawLine(0, y0, x0 * 2, y0);
int j = 0;
while (j 200) {
for (int i = 0; i 1023; i++) {
double angle = i * Math.PI / 512;
double radius = j * Math.sin(roses * angle);
int x = (int) Math.round(radius * Math.cos(angle) );
int y = (int) Math.round(radius * Math.sin(angle));
g.fillOval(x0 + x, y0 + y, 1, 1);//画点
}
j += 10;
}
}
public void itemStateChanged(ItemEvent e) {
// 选中单选按钮
repaint();
// 重画
}
public void componentResized(ComponentEvent e) {
// 改变窗口大小时
repaint();
}
public void componentMoved(ComponentEvent e) {
}
public void componentHidden(ComponentEvent e) {
}
public void componentShown(ComponentEvent e) {
}
public static void main(String[] arg) {
new Rose();
}
}
写出用matlab绘制四叶玫瑰线P=sin2Θ(Θ∈(0,2π))的程序
theta=linspace(0,2*pi,400); rou=4*sin(2*theta); polar(theta,rou)
^ x = -2:0.1:2;
y = exp(-(x.^bai2));
theta = linspace(0, 2*pi);
rho = sin(2*theta);
t1 = linspace(0,30,1000);
x3 = 3*t1./(1+t1.^3);
y3 = 3*t1.^2./(1+t1.^3);
t2 = linspace(0,2*pi);
x4 = t2 - sin(t2);
y4 = 1 - cos(t2);
subplot(2,2,1);plot(x,y);title('概率曲线 y = exp(-x^2)')
subplot(2,2,2);polar(theta,rho),title('四叶玫瑰线 p = sin(2*t)')
subplot(2,2,3);plot(x3,y3);title('叶形线');
subplot(2,2,4);plot(x4,y4);title('摆线');
扩展资料:
四叶玫瑰线(four-leaved的一种.定长线段AB =2a,它的两个端点在垂直两直线上滑动,从两直线的交点O向线段AB作垂线OM,垂足M的轨迹称一’为四叶玫瑰线(见图).其极坐标方程为P=a sin 2B。
^clc;clear
subplot(2,2,1)
ezplot('exp(-x^bai2)')
subplot(2,2,2)
ezpolar('sin(2*t)')
subplot(2,2,3)
t=0:pi/100:2*pi;
x=3*t./(1+t.^3);
y=3*t.^2./(1+t.^3);
参考资料来源:百度百科-四叶玫瑰线
四叶玫瑰线 数学公式
绘制四叶玫瑰线ρ=a×sin(2θ)
绘制三叶玫瑰线ρ=a×sin(3θ)
四叶玫瑰线的二四象限怎么来的?
四叶玫瑰线方程为r=sin(2θ),二四象限范围为(π /2,π)和(3π/2,2π),2θ则为(π,2π)和(3π,4 π),sin(2θ)都是负值"r不是应该大于等于0",r是极径,一般是非负的 ,但有时候也可以为负数,其几何意义是正极 径的反向延长线
网站标题:java代码四叶玫瑰线 java四叶玫瑰数
分享URL:http://scyanting.com/article/hjposg.html