Class 4 - Special topics

### Curl noise

A clever observation by Bridson and others lets us calculate the 'curl' of a noise field at each particle in a particle system.. Create a particle system with an omni/directional emitter, and specify this 'runtime after dynamics' expression.

### Crack networks from instancing a lattice template

A crack pattern on an equilateral triangle ("prototile") can be instanced over an entire trimesh to create a seamless crack network. Select a polymesh, then run
```
vorTess "test";
```
using this program, to create a crackable mesh called "test". The resulting mesh can be subjected to 'vorTess("test2")' for a second round, and so on - the results are repeatedly recrackable.

This S2007 poster describes the idea.

### Halton (LDS) sequence

LDS sequences are "predictable but random enough".. This program creates (x,y) points based on the Halton sequence.
```
source Halton;
genGridPts 16;
genRndPts 16;
testHalton 256;
```

### Alternate Voronoi-like diagrams

Load this .obj polymesh into Maya. It is a Delaunay triangulation of a small set of points. To create a Voronoi diagram and Voronoi-like alternatives from these triangles, use this program.
```
select -r DelaunayShape ;
source computeTriCenters;
computeTriCenters;
```
Edit the program, look for the calcCen() proc, and uncomment one alternative at a time to create the variations.
```
// computeBarycen(\$fanList,\$msh,.33333,.33333,.33333); // centroid, if equal wts

// computeBarycen(\$fanList,\$msh,.55,.15,.3);

computeCircumcen(\$fanList,\$msh);

// computeIncen(\$fanList,\$msh);

// computeOrthocen(\$fanList,\$msh,.0005,.001,.002); // same as circumcen, for 0 wts

// computeOrthocen(\$fanList,\$msh,0,0,0); // same as circumcenter..

// computeTwirledCircumcen(\$fanList,\$msh,.5);

// computeWeightedcen(\$fanList,\$msh);
```
The point is that the classic Voronoi diagram is just one of many ways of creating a cellular network from a random set of points on a plane.

Here is the S2007 poster on this idea. Also, these two animations show transitions between alternatives:
Movie1
Movie2