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.
===> p'(B) ===> b3 + t v3 = 0 ===> t=-b3/v3 
Die Zentral-Projektion des CamCarpet Schatten-Bildes 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, 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((20,32,18),(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) →
Ich hab 3 Scenen hinterlegt in Punktlisten X0, X1, X2 K Position Kamera (Parallel-Projektion) - L Position Licht/Beleuchtung Punktstrahler (Zentral-Projektion)
Scene Punktliste Bildpunkte ProjektionViBildpunkte ProjektionVBilder
T 2DSX=X0 SX'  SX''TBild, TBild', TBild''
L 3DSX=X1 SX' SX''LBild, LBild', LBild''
CarpetSX=X2 SX' SX''CarpetBild, CarpetBild',CarpetBild''
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

Verschiedene Blickwinkel auf den Teppich und Vergleich unterschiedlicher Projektionen

Verschiedene Blickwinkel auf den Teppich und Vergleich unterschiedlicher Projektionen
Oben: Draufsicht MItte: Parallel-Projektion (Paralleles-Licht) Unten: Zentral-Projektion (Projektion Punktstrahler - Spotlight-Schatten)