gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/Documentation/Manuscripts/Irregu irregu.tex


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/Documentation/Manuscripts/Irregu irregu.tex
Date: Thu, 28 Nov 2002 08:00:50 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/11/28 08:00:50

Modified files:
        Documentation/Manuscripts/Irregu: irregu.tex 

Log message:
        sketch some more

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Documentation/Manuscripts/Irregu/irregu.tex.diff?tr1=1.77&tr2=1.78&r1=text&r2=text

Patches:
Index: gzz/Documentation/Manuscripts/Irregu/irregu.tex
diff -u gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.77 
gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.78
--- gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.77        Thu Nov 28 
05:43:39 2002
+++ gzz/Documentation/Manuscripts/Irregu/irregu.tex     Thu Nov 28 08:00:49 2002
@@ -367,18 +367,14 @@
 
 \subsection{Algorithm ``How?''} 
 
-XXX IDEAL: Displacement of edge curve by 2D offset "texture"!?
-
 In this subsection, we formulate the design criteria of the preceding section 
mathematically
 and discuss
 a simple algorithm for a shape with the desired properties.
 
-SCRATCH:
-
-Suppose $A \subset \mathbf{R}^2$ is the edge of the part of the canvas we want 
to tear off, for example, a rectangle or a smooth ellipse. 
-We want to define the corresponding edge $B \subset \mathbf{R}^2$ 
-of the irregular piece 
-so as to satisify the ``natural movement'' propery:
+Suppose $A \subset \mathbf{R}^2$ is the part of the canvas we want to tear off,
+for example, a rectangle or a smooth ellipse. 
+We want to define the corresponding irregular piece $B \subset \mathbf{R}^2$ 
+so as to satisify the ``natural movement'' property:
 \[
     A = A_1 \cup A_2 \Rightarrow B = B_1 \cup B_2,
 \]
@@ -387,22 +383,46 @@
 From this porperty, it follows that the mapping fomr $A$'s to $B$'s 
 is actually defined by a point relation $R \in \mathbf{R}^2$:
 \[
-    B = \{\, y \mid \exists x \in A: x R y \,\}
+    B = \{\, y \mid \exists x \in A: x R y \,\}.
 \]
 If $R$ is a function, i.e., $x R y \Leftrightarrow y = f(x)$,
 the irregular shapes will be connected (if the original shape is connected), 
-but the irregular dege may intersect itself.
+but some parts of original 
+shape may map to overlapping parts in the irregular shape.
+Furthermore, the inside of $A$ may get displaced to outside of the 
+image of the border of $A$. 
+
 If $R$ is a function in the inverse direction, i.e., 
 $x R y \Leftrightarrow g(y) = x$,
-there will be no intersections, but the irregular shape may be scattered.
+there will be no overlapping, but the irregular shape may be scattered.
 If the function is bijection, the topology of the irregular shape
 will match the topology of the original shape.
+Specifically, the edge of $A$ will map to the edge of $B$.
+
+The inverse function mapping is actually implemented in modern
+texture shading hardware:
+the image of the undistorted shape can be stored in a texture and accessed
+with texture coordinates read from (or offset by) another texture storing the 
+inverse function (or $g(y) - y)$). This is called a dependent (or offset)
+texture access.
+
+The forward function cannot be efficiently implemented on fragment level,
+because each fragment may depend on multiple values of the function.
+The edge of the shape could be displaced on vertex level, 
+but that is likely to not yield good performance if the shape has fine detail.
+Furthermore, intersection in the edge cause additional problems.
+If the function bijection, so as to avoid any intersections, we
+can just as well use the inverse function case by simply inverting 
+the function.
+
+
+
+---
+
+Because of implementation constraints, we further refine 
+the ideal model discussed above.
 
-XXX: in the inverse function case, the region inside the edge $A$
-will map to the region inside $B$.
 
-XXX: in the function case, the inside region may be displaced outside
-the edge.
 
 XXX: relaxing the ``natural movement'' property \dots
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]