Hallo,
ich brauch dringend Hilfe. Undzwar möchte ich ein Javaprogramm coden, dass eine Zykloide zeichnen kann. (de.wikipedia.org/wiki/Zykloide) Das Zeichnen ansich geht schonmal allerdings ist immer ein langgezogner strich auf der "x-achse" den ich nicht wegbekomme. des weiteren 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
Alles anzeigen
und hier die testklasse
Alles anzeigen
ich brauch dringend Hilfe. Undzwar möchte ich ein Javaprogramm coden, dass eine Zykloide zeichnen kann. (de.wikipedia.org/wiki/Zykloide) Das Zeichnen ansich geht schonmal allerdings ist immer ein langgezogner strich auf der "x-achse" den ich nicht wegbekomme. des weiteren 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
Quellcode
- import java.awt.*;
- 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 = 20000;
- 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);
- }
- }
und hier die testklasse
Quellcode
- import javax.swing.*;
- import java.awt.*;
- public class testCycloid extends JFrame{
- public testCycloid () {
- getContentPane ().setLayout (new GridLayout ());
- getContentPane ().add (new Cycloid (10));
- };
- public static void main(String[ ] args) {
- testCycloid pict = new testCycloid();
- pict.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
- pict.setSize (600, 300);
- pict.setVisible (true);
- }
- }
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von JohnSmith ()