Delphi-PRAXiS
Seite 1 von 8  1 23     Letzte »    

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 9. Feb 2005 16:04


RiB - Reflect it Baby
 
Liste der Anhänge anzeigen (Anzahl: 2)
Angestachelt von diesem hier hab ich mich auch mal dran gemacht.
Ziel des ganzen: Reflektion/Refraktion auch an Bezier-Splines, und additives Zeichenen um den Eindruck von Licht zu verstärken. Herausgekommen ist:

RiB
Reflect it Baby

Ein kompletter Szenen-Editor der derzeit folgende Objekte kennt:
  • Bezier-Spline-Segmente
  • Kreise
  • Emitter
Es sollen noch folgen:
  • Linien
  • Rechtecke
  • Polygone

Ein paar Hinweise zur Bedienung:
Ein selektiertes Objekt kann mit gedrückter linker Maustaste verschoben werden. Kontrollpunkte werden nicht verschoben. Das wiederum geht nur mit zusätzlich gedrückter Ctrl-Taste (dann wird der Cursor über Kontrollpunkten auch zur Hand).
Mit gedrückter Alt-Taste werden Objekte subpixelweise (1/4 Pixel) verschoben, zum Feintuning ;). (Lässt sich aber nicht mit Ctrl verbinden!)
Beim Emitter-Objekt ist's etwas ander: Verschieben bleibt gleich, auch das feine Verschieben, aber der Emitter lässt sich mit zusätzlich zur linken Maustaste gedrückter Ctrl-Taste drehen, und mit Shift lässt sich der Öffnungswinkel einstellen.

Nochmal in übersichtlich...
Code:
[b]Alle Objekte[/b]
[lMaus] + Ziehen         : Verschieben
[lMaus] + [Alt] + Ziehen : fein Verschieben

[b]Emitter-Objekte[/b]
[lMaus] + [Ctrl] + Ziehen : Drehen
[lMaus] + [Shift] + Ziehen: Öffnungswinkel

[b]Andere Objekte[/b]
[lMaus] + [Ctrl] + Ziehen : Zugriff auf Kontrollpunkte
Beim Bewegen der Maus über die Szene wird das Objekt, das mit einem Klick ausgewählt würde, markiert. Wenn man darunterliegende Objekte erreichen möchte, kann man mit Rechtsklicks durch alle an dieser Stelle liegenden Objekte durchschalten. Sobald das richtige markiert ist, wird es durch Linksklick selektiert.


Das Teil rechnet bei jeder Änderung der Szene alle Strahlen neu durch! Von daher sollte man sowohl mit der Strahltiefe, als auch mit der Anzahl der Strahlen aufpassen ;). (Leider zählt z.Zt. das bloße selektieren noch als Änderung der Szene, und löst somit ein Neuberechnen aus. Das wird noch gefixt.)

Bekannte Bugs:
  • Die Schnittpunktberechnung der Splines hat noch Schwierigkeiten mit absolut horizontalen/vertikalen Strahlen. Das hängt mit dem zu lösenden Gleichungssystem zusammen, und wird noch überarbeitet. Da der Fall aber recht selten auftritt, hat das nicht oberste Priorität.
  • Ganz selten kam es bei mir noch zu Divisionen durch Null. Deren Ursprung konnte ich noch nicht abschließend ausfindig machen, bin aber dran :)


Im Archiv sind Source + EXE. Viel Spaß beim Kaputttesten ;)
Ach ja! Die Graphics32-Lib wird zum Kompilieren natürlich benötigt :mrgreen:


Gruss,
Fabian

moritz 9. Feb 2005 16:12

Re: RiB - Reflect it Baby
 
Respekt! :thumb: Das Ding ist Hammergeil :-D

Ein "Fehler" ist mir allerdings aufgefallen: Wenn zwei Objekte übereinander liegen, kann man immer nur eines auswählen. Was hältst du von einer Ebenenliste?

dizzy 9. Feb 2005 16:21

Re: RiB - Reflect it Baby
 
Zitat:

Zitat von dizzy
Beim Bewegen der Maus über die Szene wird das Objekt, das mit einem Klick ausgewählt würde, markiert. Wenn man darunterliegende Objekte erreichen möchte, kann man mit Rechtsklicks durch alle an dieser Stelle liegenden Objekte durchschalten. Sobald das richtige markiert ist, wird es durch Linksklick selektiert.

:roll: ;)

moritz 9. Feb 2005 16:24

Re: RiB - Reflect it Baby
 
:wall: I'm so sorry ^^

MisterNiceGuy 9. Feb 2005 16:52

Re: RiB - Reflect it Baby
 
Hammer!! Mehr sag ich danicht zu :)

Du hilfst mir sehr mit dem Projekt, da ich grad an dem Verschieben von Objekten arbeite und das nicht so recht hinbekomme!

EDIT: Öhm kannst du mir sagen, wo du die Image32 Komponente her hast?

Plague 9. Feb 2005 16:58

Re: RiB - Reflect it Baby
 
Wirklich super!

Mal eine Nebenfrage:
Was für Buttons sind das, die du verwendet hast? Wo kann man diese finden und runterladen?

Gruß
Thomas

xineohp 9. Feb 2005 17:01

Re: RiB - Reflect it Baby
 
@Plague: Sind das nicht die normalen TButton's mit Xp-Manifest?

maximov 9. Feb 2005 17:03

Re: RiB - Reflect it Baby
 
Supa teil :thumb:

Falls du noch weiterentwickelst, wäre ein umformen der Kreise zu Ellipsen-linsen sehr interessant. Vielleicht auch Prismen mit specktralfarben...

dizzy 9. Feb 2005 17:03

Re: RiB - Reflect it Baby
 
Zitat:

Zitat von MisterNiceGuy
EDIT: Öhm kannst du mir sagen, wo du die Image32 Komponente her hast?

Da :)

@Plaque: Jupp, einfach deine sonst auch überall zu findenden XP-Buttons :D

\\edit:
@maximov: Ellipsen sollten eigentlich auch keil allzu großes Problem sein. Kommt mit auf die Liste :). Das mit den Spektralfarben kannste dir aber abschminken ;). Dazu müsste man pro Strahl 3 Stahlen abschicken die zudem leicht unterschiedlich auf Brechung reagieren, oder eine Aufspaltung zulassen. Beides ist sehr performancelastig, und noch viel schlimmer: Arbeitslastig :mrgreen:. Ist was für die nächsten Semesterferien...

Dax 10. Feb 2005 15:29

Re: RiB - Reflect it Baby
 
Also.. Das Prog is genial. Hab' wieder Sourcen zum sutdieren :party: Kompliment! :)

PS: Wie hast du denn das Bild auf dem Screenie hingekriegt? Ich brings einfach nicht ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:54 Uhr.
Seite 1 von 8  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz