Petr Kmoch's thesis videos

Animation videos accompanying my doctoral thesis. They were chosen to demonstrate different aspects of the animation method (such as effect of collisions or different wisp patterns).

All videos are available encoded with a lossless codec (CamStudio CSCD) as well as with MPEG-2. The larger scenes do not reach real-time simulation, and so the videos were accelerated to correctly depict simulated time instead of computation time; such videos are also available in lossless 1000 FPS format.


Minimal scene to demonstrate basic functionality: one flat wisp hanging on a stand.

MPEG2 @ 100 FPS, 0.25 MB | Lossless @ 100 FPS, 2 MB


Interaction with a scene which is similar in complexity to scenario I2 as presented in the thesis. Notice how the two right-hand wisps become entangled and move together.

MPEG2 @ 100 FPS, 4.9 MB | Lossless @ 100 FPS, 32.7 MB


Shorter version of previous interaction. Rendering of tangle springs is enabled to demonstrate their formation and severing. Springs in their rest length are rendered in white, red is used to indicate extension (the more saturated the colour, the more extended the spring).

MPEG2 @ 100 FPS, 2.3 MB | Lossless @ 100 FPS, 12.4 MB


Scene F2 as presented in the thesis (60 wisps).

MPEG2 @ 100 FPS, 6 MB | Lossless @ 100 FPS, 24.6 MB | Lossless @ 1000 FPS, 111 MB


Scene F2 as presented in the thesis, but with hair–hair collisions disabled. Notice how this causes mutual penetration of wisps (observable as interleaving or flickering), an effect which is prevented when collisions are enabled (as the previous video shows).

MPEG2 @ 100 FPS, 5.62 MB | Lossless @ 100 FPS, 23.1 MB | Lossless @ 1000 FPS, 54.8 MB


Hair reacting to the head tilting right and left. A sparser hairstyle consisting of 24 wisps was used to improve simulation framerate.

MPEG2 @ 100 FPS, 8.5 MB | Lossless @ 100 FPS, 39.7 MB | Lossless @ 1000 FPS, 171 MB


Effect of wisp spring patterns on wisp behaviour (shearing). This animation demonstrates the effect depicted in Figure 3.20 of the thesis.

MPEG2 @ 100 FPS, 0.5 MB | Lossless @ 100 FPS, 3.5 MB


Same as the previous video, but wisp spring patterns are visualised.

MPEG2 @ 100 FPS, 0.75 MB | Lossless @ 100 FPS, 3 MB


This video demonstrates hair strands simulated individually rather than flat wisps. As our collision detection method uses flat wisp geometry, hair–hair collisions are not handled in this video. 102 strands are simulated. Notice how sparser the hairstyle looks compared to roughly a similar amount of strands simulated as part of flat wisps (scene F2).

MPEG2 @ 100 FPS, 20.1 MB | Lossless @ 100 FPS, 37.2 MB | Lossless @ 1000 FPS, 166 MB


The videos are also available for joint download as ZIP archives: All MPEG videos (45 MB) | All lossless 100 FPS videos (138 MB) | All lossless 1000 FPS videos (372 MB)