Perspektivisch verzerren

Benutzeravatar
Hoogo
Betatester
Beiträge: 4031
Registriert: So 03 Jul 2005 13:35
Wohnort: Mülheim/Ruhr

Perspektivisch verzerren

Beitrag von Hoogo »

2 Ideen für perspektivisch verzerrte Ebenen:

Wenn die perspektivische Verzerrung aktiv ist wäre es schön, wenn der Ebenenrahmen nicht aus Strecken zwischen den Endpunkten, sondern aus Geraden durch die Endpunkte hindurch bestehen würde. Das würde es erleichtern, auf den Horizont oder auf Fluchtpunkte auszurichten.

Drehen und verschieben von perspektivisch verzerrten Ebenen ist ja ganz normal: 2D halt, es wird parallel zum Bildschirm verschoben und um dessen Senkrechte gedreht. Cool wäre, wenn bei perspektivisch verzerrten Ebenen 3D entlang der Fluchtlinien verschoben und um die senkrechte der Ebene gedreht würde.
Benutzeravatar
toyotadesigner
Mitglied
Beiträge: 337
Registriert: Mo 16 Jan 2012 18:23
Wohnort: España & Germany

Re: Perspektivisch verzerren

Beitrag von toyotadesigner »

Würde ein Gitter mit frei wählbarer Rasterweite nicht ausreichen oder sogar noch präziser sein?

Beispiel PTLens: http://epaperpress.com/ptlens/
Das Schöne an Einweg-Kameras ist, dass ich mir die Modellbezeichnungen nicht merken muss.
Benutzeravatar
Hoogo
Betatester
Beiträge: 4031
Registriert: So 03 Jul 2005 13:35
Wohnort: Mülheim/Ruhr

Re: Perspektivisch verzerren

Beitrag von Hoogo »

Ein Gitter im Inneren der Ebene würde nicht helfen, die Schnittpunkte der Geraden liegen außerhalb. Und ein komplettes Gitter außerhalb könnte zum anordnen zwar nützlich sein, aber vorher muss der Horizont feststehen, und wenn der feststeht, kann man so eine Flächenaufteilung auch mit dem Vektor-Gitter machen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
bkh
Betatester
Beiträge: 3674
Registriert: Do 26 Nov 2009 22:59

Re: Perspektivisch verzerren

Beitrag von bkh »

Hoogo hat geschrieben:Drehen und verschieben von perspektivisch verzerrten Ebenen ist ja ganz normal: 2D halt, es wird parallel zum Bildschirm verschoben und um dessen Senkrechte gedreht. Cool wäre, wenn bei perspektivisch verzerrten Ebenen 3D entlang der Fluchtlinien verschoben und um die senkrechte der Ebene gedreht würde.

Wäre meiner Meinung nach aber nur als Zusatzoption brauchbar, denn nicht jede Verzerrung ist als Perspektive gedacht. Wenn ich z. B. ein Bild entzerre, soll es ja auch beim Drehen/Strecken usw. perspektivisch entzerrt bleiben und nicht plötzlich anders verzerrt werden. Oder wenn ich die Proportionen eines Rechtecks ändere, will ich das nicht als perspektivische Verzerrung interpretiert haben, sonst wird beim Drehen aus meinem Rechteck ein Parallelogramm, wenn ich aus einem Kreis nachträglich eine Ellipse mache, würde sie sich bei perspektivisch korrekter Drehung nicht verändern.

Perspektivisch korrektes Verschieben müsste allerdings die Fluchtpunkte fest lassen und die Verzerrung ändern. Verschiebung entlang der Fluchtlinien wäre das korrekte Verhalten für Vergrößern/Verkleinern.

L.G.

Burkhard.
Martin Huber
Entwickler
Entwickler
Beiträge: 4176
Registriert: Di 19 Nov 2002 15:49

Re: Perspektivisch verzerren

Beitrag von Martin Huber »

Hoogo hat geschrieben:Cool wäre, wenn bei perspektivisch verzerrten Ebenen 3D entlang der Fluchtlinien verschoben
Das geht über einen kleinen Umweg bereits jetzt. Dazu darfst du nur nicht deine Ebene verzerren, sondern musst sie gruppieren und die Gruppe verzerren. Die Gruppe gibt damit dann praktisch das Koordinatensystem der Ebene vor. Wenn du nun die Ebene verschiebst, wird sie im Koordinatensystem der Gruppe verschoben und entsprechend verzerrt.
Hoogo hat geschrieben:und um die senkrechte der Ebene gedreht würde.
Da bin ich mir nicht sicher, ob das überhaupt so möglich ist, wie du dir das vorstellt. Bei der Verzerrung handelt es sich nicht wirklich um eine 3D-Operation, daher existiert auch keine Senkrechte.

Martin
Benutzeravatar
Hoogo
Betatester
Beiträge: 4031
Registriert: So 03 Jul 2005 13:35
Wohnort: Mülheim/Ruhr

Re: Perspektivisch verzerren

Beitrag von Hoogo »

Martin Huber hat geschrieben:Das geht über einen kleinen Umweg bereits jetzt. Dazu darfst du nur nicht deine Ebene verzerren, sondern musst sie gruppieren und die Gruppe verzerren. Die Gruppe gibt damit dann praktisch das Koordinatensystem der Ebene vor. Wenn du nun die Ebene verschiebst, wird sie im Koordinatensystem der Gruppe verschoben und entsprechend verzerrt.
Guter Tip.
Martin Huber hat geschrieben:Da bin ich mir nicht sicher, ob das überhaupt so möglich ist, wie du dir das vorstellt. Bei der Verzerrung handelt es sich nicht wirklich um eine 3D-Operation, daher existiert auch keine Senkrechte.
Ich hab keine Ahnung, ob die bisherigen freien Verzerrungen überhaupt immer als Perspektivisch verzerrtes Original-Rechteck verstanden werden können. Oder ob sowas ohne eine explizit angegebene Z-Tiefe berechnet werden kann... Das könnte womöglich auf einen 3. Modus neben "normal" und "erweitert" hinauslaufen, oder gar auf ein Extra-Werkzeug. Aber nützlich fänd ich's allemal ;)

Wobei man an diesem Punkt besser nicht zu schnell schießt und noch ne Ecke weiter über 3D-Funktionen in einem 2D-Programm nachdenkt...
bkh
Betatester
Beiträge: 3674
Registriert: Do 26 Nov 2009 22:59

Re: Perspektivisch verzerren

Beitrag von bkh »

Martin Huber hat geschrieben:
Hoogo hat geschrieben:und um die senkrechte der Ebene gedreht würde.
Da bin ich mir nicht sicher, ob das überhaupt so möglich ist, wie du dir das vorstellt. Bei der Verzerrung handelt es sich nicht wirklich um eine 3D-Operation, daher existiert auch keine Senkrechte.
Ich hätte ja erwartet, dass das mit dem Gruppen-Trick auch geht. Im Prinzip braucht man nur im Originalkoordinatensystem zu drehen und die Verzerrung der Gruppe auf das Ergebnis anzuwenden.

L.G.

Burkhard.
Martin Huber
Entwickler
Entwickler
Beiträge: 4176
Registriert: Di 19 Nov 2002 15:49

Re: Perspektivisch verzerren

Beitrag von Martin Huber »

bkh hat geschrieben:
Martin Huber hat geschrieben:
Hoogo hat geschrieben:und um die senkrechte der Ebene gedreht würde.
Da bin ich mir nicht sicher, ob das überhaupt so möglich ist, wie du dir das vorstellt. Bei der Verzerrung handelt es sich nicht wirklich um eine 3D-Operation, daher existiert auch keine Senkrechte.
Ich hätte ja erwartet, dass das mit dem Gruppen-Trick auch geht. Im Prinzip braucht man nur im Originalkoordinatensystem zu drehen und die Verzerrung der Gruppe auf das Ergebnis anzuwenden.
Prinzipiell könnte das schon gehen (nur die Winkelberechnung ist im perspektivischem System "etwas" unangenehm). Aber ich bin mir nicht sicher, ob das das ist, das sich Hoogo vorgestellt hat.

Und momentan wird immer seiten-relativ gedreht.

Martin