Deformationen Flashcards
Was ist Fourier-Analyse (Fourier-Transformation)?
Fourier-Analyse (Fourier-Transformation) wird zur Abbildung zwischen Ortsraum (Spatial Domain) und Frequenzraum (Frequency Domain) verwendet
- Statt Ortsraum f(x) wird oft Zeitraum f(t) verwendet
Erkläre das Konzept von Fourier-Raum/Frequenzraum
Konzept von Fourier-Raum ist einfach das wir die diversen Frequenzen (also langsame Änderungen und schnelle Änderungen) die Amplitude jeweils repräsentieren können. Wenn wir das Signal mit gewisse Filter falten, dann kriegen wir was.
Fourier-Raum ist essenziell Frequenzruam, und bezieht sich eigentlich auf Fourier-Transformation, was von Ortsraum (normal space) zu Frequenzraum (frequency space) geht.
Je nachdem wie viel Filter wir wechseln können, können wir dann mehr Frequenzen wegfiltern sodass es noch sanfter ist, oder weniger sodass es schneller ist.
Im Frequenzraum ist es lediglich Multiplikation, im Ortsraum ist es eine Verschiebung von Multiplikation. Die Multiplikation geht uns nicht an, aber dass wir Tiefpass Filter haben um Frequenzen zu entfernen und Hochpass Filter um Kanten zu betonen ist wichtig
Was ist ein Hochpassfilter?
Hochpassfilter (aka Kantenfilter) = Schneide Frequenzen UNTER einer Grenzfrequenz v0 ab, durch Faltung mit sin-Funktion. Sieht meistens sehr scharf/kantig aus.
Zweck: Erkennen/betonen von Kanten
Was ist ein Tiefpassfilter?
Tiefpassfilter (aka Linearer Filter oder Glättungsfilter) = Schneidet Frequenzen ÜBER einer Grenzfrequenz v0 ab, durch Faltung mit sin-Funktion. Sieht meistens Blurry aus.
Zweck: Glätten von scharfen Kanten, Ruaschunterdrückung
Beispiele: Rechteck-Filter (Box-Filter), Dreieck-Filter, Gauss-Filter (curved, aka not as sharp as Dreieick)
Was ist ein Band-Pass-Filter?
Band-Pass = Betonung von Mittelfrequenzen.
Was ermöglicht Frequenzfilter (Tiefpass, Hochpass, Band-Pass)?
Dies ist alles möglich (diese Filter zu setzen), da das Objekt erst in eine Polar Koordinatensystem Transformiert wurde. Dadurch sieht man warum/wie das Koordinatensystem, bzw. Gittersystem, wichtig ist (sowie das Konzept von Repräsentation).
Was ist Fairing?
In kurz: Ziel ist Sanftheit.
Idee ist, dass wir eine so sanft wie mögliche Oberfläche gewinnen möchten, gegeben an einem Eingabesystem. Wird gemacht durch eine Funktion auf der Oberfläche
Dieses Ziel wird mit Energiefunktionen erreicht/gemacht:
- Energiefunktion, um die Oberfläche zu minimieren
- Energiefunktion, um die Krümmung (curvature) zu minimieren
- Energiefunktion, um die Dehnung und Biegung (streching and beding) zu minimieren (bzw. Energiefunktion, um die Variation der Krümmung {curvature} zu minimieren)
Was ist eine Deformation?
Eine Deformation hat mit Skalierung, Drehung, usw. zu tun.
Die 4 Hauptformen von Deformationen sind Curve-Based (auch Surface-Based oder Equation-Based), Frequency-Based, Freeform, und Cage-Based!
Wenn man ein Punkt auf einer Kurve bewegt, muss man wissen, was mit den anderen Punkten passiert, sowie was mit den Punkten dazwischen ist.
Einfachste Version wäre nur den einen Punkt zu bewegen, und Linear Interpolation zwischen den Punkten.
Interessanter ist, wenn man Nachbarpunkte auch bewegt, und Transformation interpoliert als eine “function of distance” (Linear Interpolation zwischen den Punkten).
In Blender gibt es 3 Optionen: Local Transformation (nur den einen Punkt), Smooth Transfer Function (concave), oder Sharp Transfer Function (convex)
Was sind die wichtigsten Definitionen von einer Deformation einer Kurve?
C ⟶ Originale Kurve
C‘ ⟶ Kurve nach Deformation
P = {p0, p1,…,pn} ⟶ Alle (n+1) Punkte auf Kurve C
P‘ = {p‘0,…,p‘n} ⟶ Alle (n+1) Punkte auf Kurve C‘
D(pi) ⟶ Die Deformation am Punkt p_i
T ⟶ Die Volle Transformation (an den “handle” Punkten)
p’i = pi +d(pi) ∀ pi∈C ⟶ Deformiert Kurve C zur Kurve C‘
H = Handle Region ⟶ Mittlepunkt (wo hochgezogen wird) F = Fixed Region ⟶ Außerhalb der Deformierten Region R = Rest ⟶ Der Ort um den Handle herum, aber innerhalb der Fixed Region S = Originale Surface ⟶ Die gesamte Surface inkl. F, R, H S‘ = Surface nach Deformation
Was ist die Distance Function für Deformationen?
Es bestimmt, wie viel von der Deformation die Punkte in R erhalten sollen (je weiter sie von H entfernt sind, desto weniger sind sie deformiert)
GLEICHUNG: K(p) = dist F(p) / {dist F(p) + dist H(p)}
K = wie viel Deformation der Punkt bekommt F = Fixed Region p = der Punkt H = Handle Region dist F(p) = die Distanz von Punkt p zur Fixed Region F dist H(p) = die Distanz von Punkt p zur Handle Region
Was ist Curve-Based (Surface-Based / Equation-Based) Deformation?
Equation-Based = Gleichungsbasiert
Distance Function ist hier sehr wichtig: K(p) = dist F(p) / {dist F(p) + dist H(p)}
Es wird damit bestimmt, wie viel von der Deformation die Punkte in R erhalten sollen (je weiter sie von H entfernt sind, desto weniger sind sie deformiert)
Problem: Physikalisch falsche (oder nicht-intuitive) Interpolation innerhalb des Handles
Lösung: Optimieren für eine geometrische Eigenschaft (durch Energy-Functoins ähnlich wie bei Fairing)
- Energiefunktion, um die Oberfläche zu minimieren
- Energiefunktion, um die Krümmung (curvature) zu minimieren
- Energiefunktion, um die Dehnung und Biegung (streching and beding) zu minimieren (bzw. Energiefunktion, um die Variation der Krümmung {curvature} zu minimieren)
Was ist Frequency-Based Deformation?
Hat mit Frequenraum zu tun (mit Tiefpass- und Hochpassfilter).
Definiert die Oberfläche als “basis plane” und “details” (Hochfrequenz).
- Basis-Pane ist dabei die mittel der Frequency. Die Details sind alles über oder unter dieser “basis plane”.
Problem: Das Speichern der “Displacements” im globalen Koordinatensystem führt nicht zum gewünschten Ergebnis.
Lösung: Die Details sind Abweichungen von der “Basis Plane” entlang der Richtung der Normalen… Normal-based (was wir haben wollen) vs. Global Coordinate System (geht immer noch nach oben).
Was ist Free-From Deformation?
Idee ist, dass ich keine Definition der Oberfläche habe, ich kriege es nicht so in 2D das ich den frequenzbasiert benutzen kann, also stecke ich das Ding/Objekt dann einfach in ein Gitter, merke mir wo die Gitterlinien sind (als ob ich das Objekt schneiden würde), bewege den Gitter und der Rest folgt als Interpolation zwischen die Gitterpunkte (z.B. mit Splines)
Steps:
- 1) Construct a regular grid throughout the entire space (including where the object is).
- 2) Note the intersection of the object with the grid.
- 3) Move the grid (and thereby the object’s intersection points)
- 4) Interpolate between intersection points
- 5?) Find location of all points on the curve relative to the grid (re-parameterize)
- 6?) Redefine the lines of the grid as bezier Curves (and use the grid points as control points)
Was sind die Vor- und Nachteile von Free-From Deformation?
Vorteile:
- Glatte Deformationen
- Einfach zu implementieren
- Effiziente und lokalisierte Steuerungen für die interaktive Bearbeitung
- Kann mit verschiedenen Anpassungs- oder Energiezielen gekoppelt werden
Nachteile:
- Zu viele Gitterpunkte in 3D
- Die Gitterstruktur ist nicht für organische/nicht-kubische Formen geeignet
Was ist Cage-Based Deformation?
Eigentlich ist es dasselbe wie Free-Form aber man hat eine bessere Control-Cage
Anders gesagt: Anstelle eines regelmäßigen Gitters wird ein “Kontrollkäfig” definiert (ein grobes Dreiecksnetz, das das Objekt umschließt)