Autor |
Beitrag |
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Di 12.02.13 11:45
Hallo,
nachdem ich an verschiedenen Stellen von Eurer Hilfe profitiert habe, gebe ich etwas Kleines wieder zurück. Es ist nicht wirklich Ersatz, da es wieder in die Kategorie "braucht niemand" gehört und manchen vielleicht auch nervt, da ich die EE zumülle.
Das Programm zeichnet eine Ellipsenzykloide, d.h. eine Ellipse rollt auf einer Strecke ab. Das Abrollen eines Kreises ist kein Problem, bei einer Ellipse waren allerdings ein paar Berechnungen mehr notwendig.
Der Quelltext ist wieder eine Katastrophe (kennt Ihr ja schon von mir ), vielleicht gefällt das kleine Programm dennoch dem einen oder anderen.
Beste Grüße
Mathematiker
Rev 1: Anfangsstellung der Ellipse geändert und Möglichkeit zum Zurücksetzen.
Ergänzung: Auf Martoks Wunsch habe ich noch ein kleines Programm hinzugefügt, dass die Evolvente eines Kreises zeichnet.
2.Ergänzung: In einem späteren Beitrag befindet sich ein weiteres Programm mit der Evolvente/Involute einer Ellipse. Hier darf in ja "nur" 3 Anhänge anfügen.
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Zuletzt bearbeitet von Mathematiker am Do 14.02.13 09:17, insgesamt 5-mal bearbeitet
|
|
Bergmann89
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Di 12.02.13 21:00
Hey,
cooles Proggi
2 kleine Anmerkungen:
- ein Zurücksetzen Button wäre praktisch, das man sich die Ellipse im Ausgangspunkt angucken kann, wenn man Werte ändert
- den Startpunkt vlt noch n Stück nach rechts verschieben, das die Ellipse komplett auf dem Bildschirm zu sehen ist
MfG Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Di 12.02.13 21:55
Hallo Bergmann89,
Danke für das Lob.
Beide Wünsche habe ich in der Revision 1 berücksichtigt.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Mr_Emre_D
Beiträge: 114
Erhaltene Danke: 14
|
Verfasst: Mi 13.02.13 05:21
|
|
Sinspin
Beiträge: 1321
Erhaltene Danke: 116
Win 10
RIO, CE, Lazarus
|
Verfasst: Mi 13.02.13 07:40
Sehr schönes Spielchen, ähm Programm. Kann ich gut gebrauchen als Sinuswellengenerator, wenngleich ich nicht verstehen kann warum das simple Ding bei mir rund 10% CPU kassiert.
Mr_Emre_D hat folgendes geschrieben : | Ich sag nur 120 25 90 xD |
Du meinst 90-60-90
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mi 13.02.13 08:20
Hallo,
Mr_Emre_D hat folgendes geschrieben : | Ich sag nur 120 25 90 xD |
Habe ich noch gar nicht gesehen. Das füllt auf jeden Fall ein Dirndl aus.
Sinspin hat folgendes geschrieben : | ... wenngleich ich nicht verstehen kann warum das simple Ding bei mir rund 10% CPU kassiert. |
Tut mir leid, aber es sind schon einige Berechnungen durchzuführen.
Die zwei Hauptprobleme sind, dass zum einen die abgerollte Bogenlänge der Ellipse berechnet werden muss. Und leider ist die Ellipsenbogenlänge nur über ein elliptisches Integral näherungsweise(!) berechenbar. Und damit auch Ellipsen mit großer Exzentrizität ordentlich abrollen, muss die Näherungsrechnung eine hohe Genauigkeit erreichen. Das braucht Zeit und CPU-Leistung.
Und zweitens muss die Ellipse bei der Darstellung Punkt für Punkt um den Berührungspunkt gedreht werden, d.h. alle Punkte auf einen fiktiven Nullpunkt verschieben, dann über Matrizen drehen und wieder zurückschieben. Auch das "quält" die CPU.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Martok
Beiträge: 3660
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mi 13.02.13 10:57
Ich hab zwar Nullkomakeine Verwendung dafür (ich lehre ja nicht ), aber die logische Fortsetzung kann dann ja nur die Evolvente sein, oder?
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mi 13.02.13 12:24
Hallo Martok,
Martok hat folgendes geschrieben : | ... aber die logische Fortsetzung kann dann ja nur die Evolvente sein, oder? |
Dein Wunsch war mir natürlich Befehl!
Im ersten Beitrag befindet sich jetzt noch ein kleines Programm, das die Evolvente eines Kreises zeichnet.
Ein bisschen blöd war es, jeweils die Kreistangente und den Punkt zu finden, der genau die Bogenlänge Abstand hat, aber ich habe es hinbekommen.
Die Anwendung auf die Zahnräder musst Du aber selbst machen.
Hast Du noch andere Anregungen? Ich freue mich schon darauf.
Ellipsenevolvente wäre etwas. Aber dafür brauche ich eine ganze Kanne Kaffee aus der EE-Tasse.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Do 14.02.13 09:16
Hallo,
mit einer großen Kanne Kaffee und der Entwicklertasse habe ich tatsächlich die Evolvente/Involute einer Ellipse hinbekommen.
Dieses blöde elliptische Integral für die Bogenlänge und die Tangenten an die Ellipse wollten nicht so richtig. Zeitweise gab es "Störungen" in der Grafik. Ich hoffe, es behoben zu haben.
Dass meine Kurven mitunter ganz anders aussehen als bei mathworld.wolfram.com/EllipseInvolute.html, liegt an der Exzentrizität der Ellipsen. Ist sie sehr schmal, dann wird's eben exzentrisch.
Beste Grüße
Mathematiker
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
|