AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Benötige Hilfe von einen Mathematiker
Thema durchsuchen
Ansicht
Themen-Optionen

Benötige Hilfe von einen Mathematiker

Ein Thema von EWeiss · begonnen am 16. Dez 2008 · letzter Beitrag vom 17. Dez 2008
 
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#15

Re: Benötige Hilfe von einen Mathematiker

  Alt 16. Dez 2008, 22:39
Sooo, ich glaube ich habs jetzt

(Da hast du dir was ganz tolles ausgesucht, der Umfang einer Ellipste ist nicht analytisch lösbar - geschweige denn eine Funktion die den neuen Winkel zurückgibt wenn man ihr sagt wie weit man auf dem Umfang weitergehen will )

Ist also nicht mathematisch korrekt, abere ich bin ja (angehender) "Indscheniör" und kein Mathematiker

Anbei also noch ein Beispiel Program:

Start- und Endpunkt sind duch blaue unkte deutlich gemacht

Der Abstand zwischen der Ellipse und den Radiobuttons ist konstant (hier 30px)

Der Abstand zwischen den Radiobuttons ist nahezu konstant und minimal > 50px

Es ist nicht mehr allzu super duper schnell. (Tradeoff: je schneller, desto mehr Toleranz bei dem Abstand untereinander)
(Der winkel wird kontinuierlich um ein epsilon vergrößert, bis der Abstand größer ist als vorgegeben. Je kleiner epsilon, desto genauer aber langsamer ist das ganze)

Nicht gerade trivial, das muss ich dir lassen 8)

Also allgemein kannst du das knicken mit dem "genau berechnen".

Grüße,
Julius

Edit:
Um das mit den SlideButtons und so hab ich mir jetzt mal gespart

Die Hauptschleife sieht mittlerweile so aus:
Code:
*           for(int i = 0; i < buttons.Count; i++)
            {
                buttons[i].Visible = true;
                buttons[i].Location = PointToKoord(a, b, phi, margin); // a und b sind die Daten der Ellipse, phi ist der Winkel
// margin gibt an, wie weit die Buttons von der Ellipse weg sind.
                phi = GetNewPhi(a, b, phi, distance);
// distance gibt den Abstand zwischen den Buttons wieder.
// GetNewPhi berechnet (iterativ) den neuen Winkel, unter dem man dann die nächste Box zeichnen muss.
                if (phi > end_angle)
                    break;
            }
Angehängte Dateien
Dateityp: exe test_1_948.exe (120,0 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz