Hallo,
ich brauch dringend Hilfe. Undzwar möchte ich ein Javaprogramm coden, dass eine Zykloide zeichnen kann. (Zykloide ? Wikipedia) Das Zeichnen ansich geht schonmal . nun möchte ich das animieren das der graph quasi stück für stück entsteht (aber nicht als javascript). wäre nett wenn mir wer helfen kann.
VIelen Dank schonmal
und hier die testklasse
des weiteren wäre es gut wenn der rollkreis auch mit dargestellt werden würde in der animation
ich brauch dringend Hilfe. Undzwar möchte ich ein Javaprogramm coden, dass eine Zykloide zeichnen kann. (Zykloide ? Wikipedia) Das Zeichnen ansich geht schonmal . nun möchte ich das animieren das der graph quasi stück für stück entsteht (aber nicht als javascript). wäre nett wenn mir wer helfen kann.
VIelen Dank schonmal
Java:
import java.awt.*;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
public class Cycloid extends JPanel {
int r1;
int r2;
Polygon p;
Point pu;
int centerx = 50;
int centery= 100;
final int numPoints = 100;
public Cycloid (int inner , int outer) {
r1 = inner;
r2 = outer;
p = new Polygon ( );
for (int t = 0; t < numPoints; t++) {
double theta = 2.0 * Math.PI * t / numPoints;
double x = (r1 + r2) * Math.cos (theta) + r2 * Math.cos (theta * r1 / r2);
double y = (r1 + r2) * Math.sin (theta) + r2 * Math.sin (theta * r1 / r2);
p.addPoint ( centerx + (int)x, centery +(int) y);
}
}
public Cycloid (int rad) {
r1 = rad;
p = new Polygon ();
for (double t = 0; t < numPoints;) {
double x = (r1) * (t - Math.sin (t));
double y = (r1) *(1- Math.cos (t));
p.addPoint ( centerx + (int)x, centery -(int) y);
t=t+0.01;
}
}
public void paintComponent (Graphics g) {
super.paintComponent (g);
g.setColor (Color.blue);
g.drawPolygon (p);
repaint();
}
}
und hier die testklasse
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class testCycloid extends JFrame implements ActionListener{
private JTextField eingabe;
private JButton uebernehmen;
int radius;
public testCycloid () {
eingabe = new JTextField(10);
uebernehmen = new JButton("Übernehmen");
uebernehmen.addActionListener(this);
getContentPane ().setLayout (new GridLayout ());
getContentPane ().add (eingabe);
getContentPane ().add (uebernehmen);
pack();
};
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "Übernehmen")
radius = Integer.parseInt (eingabe.getText());
getContentPane ().add (new Cycloid (radius));
repaint();
}
public static void main(String[ ] args) {
testCycloid pict = new testCycloid();
pict.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
//pict.setSize (1024, 300);
pict.setVisible (true);
}
}
des weiteren wäre es gut wenn der rollkreis auch mit dargestellt werden würde in der animation