HyperFun Gallery: Reconstruction

VRML 2.0 (0.9 Mb)

my_model(x[3], a[1])
{
-- 3D reconstruction from three cross-sections
-- with holes and disjoint components

-- Cross-section for z = 10 - union of three disjoint disks
disk1 = 9-(x[1]-7)^2-x[2]^2;
disk2 = 9-(x[1]+7)^2-x[2]^2;
disk3 = 9-x[1]^2-x[2]^2;
sect1 = disk1 | disk2 | disk3;

-- Cross-section for z=0 - disk with hole
-- Note the hole of the same radius and xy-position as disk3
disk4 = 25-(x[1])^2-(x[2])^2;
hole = 9-(x[1])^2-(x[2])^2;
sect3 = disk4 \ hole;

-- Cross-section for z=-10 - disk with two holes
disk6 = 64-(x[1])^2-(x[2])^2;
hole1 = 9-(x[1]+4)^2-x[2]^2;
hole2 = 9-(x[1]-4)^2-x[2]^2;
sect2 = (disk6 \ hole1) \ hole2;

if (x[3] > 0) then
    t=x[3]/10;
    model = sect1*t+sect3*(1-t);
else
    t=-x[3]/10;
    model = sect3*(1-t)+sect2*t;
    endif;

my_model = model;

-- Note that the object goes out of the bounding box in z direction
-- and the polygonized surface will be not closed
}

Back to HyperFun Gallery

gallery/reconstruction.txt · Last modified: 2008/01/18 10:26 by oleg
This site contains HyperFun and other software that is free to use and modify under the provisions of the CGPL agreement unless otherwise stated.
Project hosted by the Digital Materialization Group
HyperFun CGPL Creative Commons License Valid CSS