Delphi-PRAXiS
Seite 7 von 8   « Erste     567 8      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   RiB - Reflect it Baby (https://www.delphipraxis.net/39966-rib-reflect-baby.html)

dizzy 15. Mär 2007 12:51

Re: RiB - Reflect it Baby
 
Wenn ich das richtig sehe, ist dein Verfahren der Kubischen Interpolation recht ähnlich. Eine recht interessante Seite dazu gibts auch auf Wikipedia. Was ich an stückweisen Bezier-Splines so elegant finde ist, dass man volle Kontrolle über die Kurve erlangt, da man eben das Tangentenverhalten sehr intuitiv und frei beeinflussen kann. Für eine vollautomatische Interpolation, die nur über die gegebenen Punkte laufen soll, eignet sich Hermite- oder Kubische Interpolation vermutlich sogar besser. Wobei man auch bei Bezier-Segmenten die Tangente in einem Punkt anhand seiner 2 Nachbarpunkte interpolieren, und die fehlenden Kontrollpunkte somit automatisch recht sinnvoll ergänzen kann. Dann hätte man nachher mehr Einfluss auf die Kurve. Alles eine Frage von "was will ich" :)

alzaimar 15. Mär 2007 12:58

Re: RiB - Reflect it Baby
 
dizzy, ich glaube, ich habe die kubischen Splines aus dem Gedächtnis hergeleitet. Das Verfahren ist mit Sicherheit nicht von mir.

Wenn Du übrigens die Eckpunkte deiner Spline mit den Kontrollpunkten verbindest und von der Strecke den Mittelpunkt nimmst und dann diese Mittelpunkte wieder verbindest und davon die Mitte nimmst und dann wieder und wieder und wieder, dann hast Du ...

... die Bezierkurve. Ganz ohne Polynom oder höhere Mathematik.

dizzy 15. Mär 2007 13:13

Re: RiB - Reflect it Baby
 
Das wollt ich ja garnicht untergraben ;). Ich wollt dem Kind nur nen Namen geben, damit Suchende ein Wort haben. Diese Wiki-Seite beschreibt ebenfalls die kubische Interpolation, und es ist in der Tat ziemlich genau das, was du gebaut hast.

Was die Beziers angeht, muss ich dich aber korrigieren, bzw. ergänzen. Was du beschreibst, ist eher das Corner-Cut Verfahren, wobei da als Teilungsverhältnis idR 1/4 angesetzt wird. Beim Bezier ist der "Trick", dass man das Teilungsverhältnis verschiebt. Der De Casteljau Algo macht genau dies, also Bezierpunkte über dieses Kontruktionsverfahren ermitteln, ohne je die Bezier Summenformeln gesehen zu haben. Lustigerweise wurden dieser Algo und die Bezier Formel nahezu gleichzeitig von 2 Franzosen getrennt entwickelt, ohne dass sie voneinander wussten. Sie haben sogar beide bei konkurrierenden Autoherstellern gearbeitet. Dass beide Verfahren exakt die selbe Kurve beschreiben, hat man erst nachher entdeckt. Find ich irre :stupid:
Folglich nimmt man zur Analyse die Formeln, aber auf dem PC eigentlich ausschließlich die grafische Konstruktion (da sie auch weiiiit effizienter im Rechner ist).

Catbytes 15. Mär 2007 13:55

Re: RiB - Reflect it Baby
 
Zitat:

Zitat von dizzy
RiB
Reflect it Baby

Mach doch ein rekursives Backronym draus:

"RiB it Baby"

inherited 15. Mär 2007 16:35

Re: RiB - Reflect it Baby
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Catbytes
Zitat:

Zitat von dizzy
RiB
Reflect it Baby

Mach doch ein rekursives Backronym draus:

"RiB it Baby"

Zuviel Wine geguckt, was? :P :mrgreen:

Gibt es eigentlich so etwas wie eine maximale Strahllänge?
Warum kackt mein PC hierbei (Anhang) nicht in einer (nahezu) Endlosschleife ab? :P

dizzy 15. Mär 2007 17:29

Re: RiB - Reflect it Baby
 
In deinem Screenie steht schon die Antwort ;) "Ray-Depth" gibt an, wie oft ein Strahl reflektiert werden darf. Standardeinstellung ist: Nach 32 Reflektionen/Refraktionen hört der Strahl einfach auf.

KesseK 16. Mär 2007 14:43

Re: RiB - Reflect it Baby
 
Wieso wird bei "Ray-Depth" immer gleich der Wert für alle Emitter gesetzt? Das find ich etwas unglücklich.

xZise 16. Mär 2007 16:31

Re: RiB - Reflect it Baby
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also dein RiB it Baby ^^ hat ein Problem bei einem 90° Spiegel (Also: |<---* : * = Emitter, <--- = Strahl, | = "Spline")...

Und zwar is dann nichts mit refelktieren :P

inherited 16. Mär 2007 16:33

Re: RiB - Reflect it Baby
 
Den gleichen Fehler konnte ich auch feststellen, allerdings auch bei 45°-Winkeln

xZise 16. Mär 2007 16:36

Re: RiB - Reflect it Baby
 
Wie wäre es, wenn man das speichern könnte :D

PS: Der eine Strahl ist dann irgendwie "weg"... Andere Objekte brechen ihn net mehr (egal wohin)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Seite 7 von 8   « Erste     567 8      

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