AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte RiB - Reflect it Baby

RiB - Reflect it Baby

Ein Thema von dizzy · begonnen am 9. Feb 2005 · letzter Beitrag vom 28. Aug 2009
Antwort Antwort
Seite 1 von 8  1 23     Letzte » 
Benutzerbild von dizzy
dizzy
Registriert seit: 26. Nov 2003
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


Gruss,
Fabian
Miniaturansicht angehängter Grafiken
screenie_331.png  
Angehängte Dateien
Dateityp: zip rib_166.zip (252,5 KB, 593x aufgerufen)
INSERT INTO HandVonFreundin SELECT * FROM Himmel
 
moritz
 
#2
  Alt 9. Feb 2005, 17:12
Respekt! Das Ding ist Hammergeil

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?
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#3
  Alt 9. Feb 2005, 17:21
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.
Fabian K.
  Mit Zitat antworten Zitat
moritz
 
#4
  Alt 9. Feb 2005, 17:24
I'm so sorry ^^
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

 
Delphi 7 Personal
 
#5
  Alt 9. Feb 2005, 17:52
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?
Jonas
  Mit Zitat antworten Zitat
Plague
 
#6
  Alt 9. Feb 2005, 17:58
Wirklich super!

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

Gruß
Thomas
  Mit Zitat antworten Zitat
xineohp

 
Delphi 2005 Professional
 
#7
  Alt 9. Feb 2005, 18:01
@Plague: Sind das nicht die normalen TButton's mit Xp-Manifest?
Peter Enenkel
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

 
Delphi 2005 Professional
 
#8
  Alt 9. Feb 2005, 18:03
Supa teil

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

 
Delphi 7 Enterprise
 
#9
  Alt 9. Feb 2005, 18:03
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

\\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 . Ist was für die nächsten Semesterferien...
Fabian K.
  Mit Zitat antworten Zitat
Dax
 
#10
  Alt 10. Feb 2005, 16:29
Also.. Das Prog is genial. Hab' wieder Sourcen zum sutdieren Kompliment!

PS: Wie hast du denn das Bild auf dem Screenie hingekriegt? Ich brings einfach nicht
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf