378 |
|
|
379 |
There should be some maximum radius $r$ of distortion such that |
There should be some maximum radius $r$ of distortion such that |
380 |
whether a point $y$ is in $B$ depends only on the set $A \cap B(y, r)$, |
whether a point $y$ is in $B$ depends only on the set $A \cap B(y, r)$, |
381 |
where |
where $B(y, r)$ is a ball of radius $r$ centered at $y$. |
382 |
$A \cap B(y, r) = \emptyset$ implies $y \notin B$ and |
$A \cap B(y, r) = \emptyset$ should imply $y \notin B$ and |
383 |
$A \cap B(y, r) = B(y,r)$ implies $y \in B$. |
$A \cap B(y, r) = B(y,r)$ should imply $y \in B$. |
384 |
Additionally, the mapping from $A$'s to $B$'s should be continuous |
Additionally, the mapping from $A$'s to $B$'s should be continuous |
385 |
so that slow movement of $A$ results into ``rippling'' in $B$. |
so that slow movement of $A$ results into smooth ``rippling'' in $B$. |
386 |
Furthermore, the rippling should not be too fast. |
Furthermore, the rippling should not be too fast. |
387 |
|
|
388 |
% |
% |
401 |
\[ |
\[ |
402 |
B = \{\, y \mid \exists x \in A: x R y \,\}. |
B = \{\, y \mid \exists x \in A: x R y \,\}. |
403 |
\] |
\] |
404 |
If $d(x,y) \le r$ for all $x R y$, the maximum distortion requirement |
If $\Vert x - y\Vert \le r$ for all $x R y$, the maximum distortion requirement |
405 |
is satisfied. |
is satisfied. |
406 |
|
|
407 |
If $R$ is a continuous function, i.e., $x R y \Leftrightarrow y = G(x)$, |
If $R$ is a continuous function, i.e., $x R y \Leftrightarrow y = G(x)$, |
408 |
the irregular shapes will be connected (if the original shape is connected), |
the irregular shapes will be connected (if the original shape is connected), |
409 |
but some parts of original |
but some parts of original |
410 |
shape may map to overlapping parts in the irregular shape. |
shape may map to overlapping parts in the irregular shape. |
411 |
Furthermore, the inside of $A$ may get displaced to outside of the |
Furthermore, the inside of $A$ may get displaced to the outside of the |
412 |
image of the border of $A$. |
image of its border. |
413 |
|
|
414 |
If $R$ is a continuous function in the inverse direction, i.e., |
If $R$ is a continuous function in the inverse direction, i.e., |
415 |
$x R y \Leftrightarrow F(y) = x$, |
$x R y \Leftrightarrow F(y) = x$, |
424 |
texture shading hardware: |
texture shading hardware: |
425 |
the image of the undistorted shape can be stored in a texture and accessed |
the image of the undistorted shape can be stored in a texture and accessed |
426 |
with texture coordinates read from (or offset by) another texture storing the |
with texture coordinates read from (or offset by) another texture storing the |
427 |
inverse function (or $F(y) - y$). This is called a dependent (or offset) |
inverse function (or the offset $F(y) - y$). |
428 |
texture access. |
This is called a dependent (or offset) texture access. |
429 |
|
|
430 |
The forward function cannot be efficiently implemented on fragment level, |
The forward function cannot be efficiently implemented on fragment level, |
431 |
because each fragment may depend on multiple values of the function. |
because each fragment may depend on multiple values of the function. |
433 |
but that is likely to not yield good performance if the shape has fine detail. |
but that is likely to not yield good performance if the shape has fine detail. |
434 |
Furthermore, intersections in the edge may cause additional problems. |
Furthermore, intersections in the edge may cause additional problems. |
435 |
If the function is bijection, so as to avoid any intersections, we |
If the function is bijection, so as to avoid any intersections, we |
436 |
can just as well use the invert it and use the inverse mapping. |
can just as well use the inverse mapping. |
437 |
|
|
438 |
--- |
--- |
439 |
|
|
453 |
\[ |
\[ |
454 |
A = \{\, x \mid n \cdot (x - x_0) \le 0 \,\} |
A = \{\, x \mid n \cdot (x - x_0) \le 0 \,\} |
455 |
\] |
\] |
456 |
representing one line segment, where $n$ is the normal of the line. |
representing one line segment, where $n$ is the unit normal of the line. |
457 |
|
|
458 |
The offset mapping yields $y \in B$, iff |
The offset mapping yields $y \in B$, iff |
459 |
\[ |
\[ |
466 |
Thus, offset has only effect in the normal direction and the problem |
Thus, offset has only effect in the normal direction and the problem |
467 |
is essentially reduced to one dimension. |
is essentially reduced to one dimension. |
468 |
We can simply define the ``scattered case'' as: $F(y) = -n f(y)$, |
We can simply define the ``scattered case'' as: $F(y) = -n f(y)$, |
469 |
where the real function $f(y)$ specifies offset in the normal direction. |
where the real function $f(y)$ specifies offset in the (negative) |
470 |
|
normal direction. |
471 |
This yields $y \in B$, iff |
This yields $y \in B$, iff |
472 |
\begin{equation} |
\begin{equation} |
473 |
f(y) \ge n \cdot (y - x_0), |
f(y) \ge n \cdot (y - x_0), |
474 |
\end{equation} |
\end{equation} |
475 |
The movement is still natural. XXX |
The movement is still natural, because the resulting distortion |
476 |
|
is continuous and local. XXX: rotation? |
477 |
|
|
478 |
An anlogy to the edge displacement case, i.e. the distorted edge defined |
Consider then the edge displacement case, i.e. the distorted edge defined |
479 |
by $y = x + G(x)$ for $x$ in the undistorted edge, by |
by $y = x + G(x)$ for $x$ in the undistorted edge. |
480 |
limiting the displacement of the shape edge to the normal direction, i.e, |
Analogously to the offset function, the displacement can be limited |
481 |
by defining $G(x) = n f(x)$, where $f(x)$ is the normal displacement. |
to the normal direction by defining $G(x) = n f(x)$, |
482 |
|
where $f(x)$ is the normal displacement. |
483 |
With one-dimensional displacement, the distorted edge cannot intersect |
With one-dimensional displacement, the distorted edge cannot intersect |
484 |
itself, and we obtain $y \in B$, iff |
itself, and we obtain $y \in B$, iff |
485 |
\begin{equation} |
\begin{equation} |