Cam Carpet Projektion und Spotlight Projektion
- Autor:
- hawe
Konstruieren von 3D-Cam-Carpets mit Projektionsmatrizen
Abbilden eines senkrecht stehenden Bildes per Parallelprojektion:
Gerade pB in Projektions-Richtung v=(v1,v2,v3) trifft Bildpunkt B=(b1,b2,b3) und projeziert B auf Teppich-Ebene z=0. Allgemeine Betrachtung in homogenen Koordinaten ParallelProjectionConstructionCAS.
Die Zentral-Projektion des CamCarpet Schatten-Bildes (Projektionsvektor von Kamera zu den Bildpunkten) lässt sich in homogenen Koordinaten in einer Matrix abhandeln. Details zu dem Verfahren in App Central & Parallel Projection Matrix construction.
Beispiel:
Zentral-Projektion Matrix für Projektionsebene z=0,
CAMvektor=(22,27,20), Urbildvektor (-2.5,0,5.25) in homogenen Koordinaten R4
ZP:=ZP_H(22, 27,20, 0, 0, 1,0)
Eine Überführung in R³ würde eine Funktion (CAS) darstellen ZPM(Kamera,Punkt/Vector):
ZP_M((22,27,20),(2.5,0,5.25)) = (-4.44,-9.61,0)
in neueren Versionen in CAS-Funktionen Koordinatencommand ersetzen durch x()→*(1,0,0), y()→*(0,1,0), z()→*(0,0,1) !
AlgebraView-Version
SX'=Zip((1 / (z(X)-z(K)) Z_p X), X, SX) →
===> | p'(B) ===> b3 + t v3 = 0 ===> t=-b3/v3 |
Ich hab 3 Scenen hinterlegt in Punktlisten X0, X1, X2
K Position Kamera (Parallel-Projektion) - L Position Licht/Beleuchtung Punktstrahler (Zentral-Projektion)
Um die eine Scene zu betrachten ist die Zuweisung SX vorzunehmen und
es ist die Darstellung der entsprechenden Punktlisten und Polygon/Polyline Bilder sichtbar/unsichtbar zu schalten!
App:
Punktliste SX wird durch Projektionsvektor v (erzeugt Matrix T) abgebildet auf SX'' - Vektor: Von Kamera K auf 1. BildpunktSX(1) + dv zur (ggf. mittigen) Ausrichtung = v Projektionsrichtung (CAS): .
SX' entsteht, wenn die Geraden (Lichtquelle) L ... SX(i) zur Projektion verwendet werden.
Punktförmige Lichtquelle erzeugt Schatten - für jeden Bild-Punkt wird eine Projektionsmatrix gebildet SXM.
Solve/Löse, Substitute/Ersetze, Append/Anfügen, Take/Teilliste,
Identity/Einheitsmatrix, Sequence/Folge, Length/Länge, Polygon/Vieleck,
Polyline/Polygonzug
Scene | Punktliste | Bildpunkte ProjektionVi | Bildpunkte ProjektionV | Bilder |
T 2D | SX=X0 | SX' | SX'' | TBild, TBild', TBild'' |
L 3D | SX=X1 | SX' | SX'' | LBild, LBild', LBild'' |
Carpet | SX=X2 | SX' | SX'' | CarpetBild, CarpetBild',CarpetBild'' |