Smoothing and subdivision of curves


To see the animation press:
l: to load a control polyloop
y: to subdivide it
g: to start animation
e: to produce a uniformely resampled curve
y or e: to toggle between parametric and uniform motion

To edit the control polyloop:
- Cick&drag a vertex to move it
- Drag out of window to delete the vertex
- Click&drag mid-edge point to insert a new vertex

Key : Action
a: Align edges with axes
h: scale to fit window
p: show/hide dots showing the vertices
P: show/hide Laplace vectors
n: show/hide control vertex numbers
l: Load saved control polyloop from file
w: Write control vertices in output pane
s: Save control polyloop to file
S: Save computed vertices to file
W: Write computed vertices in output pane
c: copy control polyloop to computed polyloop
r: refine computed polyloop by adding mid-edge vertices
d: decimate computed polyloop by removing every other vertex
t: tuck computed polyloop by tuck amount (initially 0.5)
u: untuck computed polyloop by untuck amount (initially 1.0)
f: same as {t,u} (keep it pressed for fairing, set untuck to 4/8)
j: same as {r,t,u}
y: same as c, 4x{r,t,u} (you can keep it pressed while editing)
digit x=0,1..8 sets untock to x
>: increase tuck amount by 0.125
<: decrease tuck amount by 0.125
+: increase untuck scale by 0.125
-: decrease untuck scale by 0.125

Animation
g: go/stop animation
x: selects every 16th point as sample
z: pushes samples away from each other on the curve
q: builds new polygon from samples and subdivides 4 times
e: does the same as (x, 400z, q)
E: a better u (to be implemented by the students)

Developed by Prof. Jarek Rossignac.