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: Fri, 29 Nov 2002 05:38:14 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/11/29 05:38:13

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

Log message:
        use p and q for points

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

Patches:
Index: gzz/Documentation/Manuscripts/Irregu/irregu.tex
diff -u gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.85 
gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.86
--- gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.85        Fri Nov 29 
04:11:52 2002
+++ gzz/Documentation/Manuscripts/Irregu/irregu.tex     Fri Nov 29 05:38:13 2002
@@ -377,10 +377,10 @@
 so as to make the movement of $A$ look natural.
 
 There should be some maximum radius $r$ of distortion such that
-whether a point $y$ is in $B$ depends only on the set $A \cap B(y, r)$,
-where $B(y, r)$ is a ball of radius $r$ centered at $y$.
-$A \cap B(y, r) = \emptyset$ should imply $y \notin B$ and 
-$A \cap B(y, r) = B(y,r)$ should imply $y \in B$.
+whether a point $y$ is in $B$ depends only on the set $A \cap B(q, r)$,
+where $B(q, r)$ is a ball of radius $r$ centered at $q \in \mathbf{R}^2$.
+$A \cap B(q, r) = \emptyset$ should imply $q \notin B$ and 
+$A \cap B(q, r) = B(y,r)$ should imply $q \in B$.
 Additionally, the mapping from $A$'s to $B$'s should be continuous
 so that slow movement of $A$ results into smooth ``rippling'' in $B$.
 Furthermore, the rippling should not be too fast.
@@ -399,12 +399,12 @@
 $R \subset (\mathbf{R}^2)^2$ that identifies the points of $A$ 
 with points in $B$:
 \[
-    B = \{\, y \mid \exists x \in A: x R y \,\}.
+    B = \{\, q \mid \exists p \in A: p R q \,\}.
 \]
-If $\Vert x - y\Vert \le r$ for all $x R y$, the maximum distortion requirement
+If $\Vert p - q\Vert \le r$ for all $p R q$, the maximum distortion requirement
 is satisfied. 
 
-If $R$ is a continuous function, i.e., $x R y \Leftrightarrow y = G(x)$,
+If $R$ is a continuous function, i.e., $p R q \Leftrightarrow p = G(q)$,
 the irregular shapes will be connected (if the original shape is connected), 
 but some parts of original 
 shape may map to overlapping parts in the irregular shape.
@@ -412,7 +412,7 @@
 image of its border. 
 
 If $R$ is a continuous function in the inverse direction, i.e., 
-$x R y \Leftrightarrow F(y) = x$,
+$p R q \Leftrightarrow F(q) = p$,
 there will be no overlapping.
 Specifically, the edge of $A$ will map to the edge of $B$.
 However, the irregular shape may be scattered, if many points
@@ -424,7 +424,7 @@
 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 the offset $F(y) - y$). 
+inverse function (or the offset $F(q) - q$). 
 This is called a dependent (or offset) texture access.
 
 The forward function cannot be efficiently implemented on fragment level,
@@ -519,6 +519,12 @@
 
 These two algorithms correspond to one-dimensional displacement
 and offset distortions, where the one dimension is in the normal direction.
+That corresponding function and inverse function are
+\begin{eqnarray}
+  G_n(p) &=& p + r n (2f(p) - 1), \\
+  F_n(q) &=& q - r n (2f(q) - 1),
+\end{eqnarray}
+where $n$ is the unit normal and $r$ the distortion radius.
 
 Although these algorithms seem different and produce different results, there 
is 
 actually a general formulation which yields to a visual explanation.
@@ -864,6 +870,8 @@
 where ${\bf d}$ is the unit normal
 of the envelope. The dot product automatically inverts the 
 function for a 180 degree rotation.
+XXX: equivalent to drawing each envelope section by real 2D-offsetting 
+of a half-plane
 
 The texture shader version can directly use the vector valued ripple function.
 It can also be used with the




reply via email to

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