Last Updated: October 13, 2001
Examples
- Radial vector field E(x,y,z)=x*e1+y*e2+z*e3
- Searching for just point singularities
Oblique view
- Searching for point and line singularities, without
filtering false line singularities
Oblique view
- Circular vector field E(x,y,z)=-y*e1+x*e2
- Hexlical vector field E(x,y,z)=-y*e1+x*e2+(x^2+y^2)*z*e3
Image | Depth | Cubes | Samples | Time |
helix 1 | 4 | 345 | 2 | 670 seconds |
helix 2 | 4 | 217 | 3 | 630 seconds |
helix 3 | 5 | 345 | 3 | 1000 seconds |
- Depth is the depth of the octree
- Cubes is the number of cubes at all levels of the octree
- Samples is the samples per edge - add
one and square to get samples per face, multiply that by 6 to
get samples per cube
- Time is seconds in Matlab as reported by the Matlab profiler
- Circular vector field f(x,y,z)=(x^2+y^2-1)^2+z^2
- First attempt, mistakenly used +z^2 instead of *z^2.
Result should be plane, but surface singularities were
not being checked. Vertical line is also an error, due
to not filtering false line singularites.
Oblique view
Side view
Overhead view
- Used correct circular field function, but still no
line filtering. Now there are three false line singularities.
Oblique view
- First attempt to remove line singularities removed too
much.
Oblique view
Side view
Overhead view
- Reasonable rendering of circular field, although
there are still a few artifacts. First, there is an
extra block sitting below the singularity at the origin.
And second, there are groups of 4 blocks selected along
the circle.
Oblique view
Side view
Overhead view
-
Two circles vector field E(x-1,y,z)*E(x+1,y,z), where E is
the E from the circular vector field.
- A sphere: f(x,y,z)=(x^2+y^2+z^2)^2.
- A partial movie in quick time (7 Meg)
Only about 1/8 of the sphere was completed before the program died
due to a windowing problem. Note that mistaken line singularities
in the center.
- Another quick time movie (27 Meg)
Notice the missing squares. Oops! I guess the test for
singularities needs fine tuning.
Oblique view Side view
- Another quick time movie (20 Meg)
There was a bug in the code for the previous run. However, fixing
the bug results in NO region being detected as containing the surface.
The problem is that the threshhold (100) was too high. I reduced it
to 40 and this is the result. Large regions still not detected.
Oblique view Side view
- Yet another quick time movie (13 Meg)
I reduced the tolerance to 10, and accidentally ran over a bigger
region. Note that it looks much better (but there are missing cubes
on the top and bottom -- why the assymetry?) and the octree seems to
be giving us a benefit (ie, there are large regions we didn't search).
Oblique view Side view Top view
Code
You must have Matlab and
GABLE
to use the following code.
Down load all of the following routines:
Sample functions:
Those above the line have been converted to the new format;
those below are still old format.