XSight RT offers only one infinite surface: the plane. Future versions might include other analytical surfaces.
An infinite plane is configured by first specifying the normal vector for the surface. Then, an offset is used to move the plane away from the origin of coordinates.
This example creates three mutually perpendicular planes to simulate a room's corner:
set plast(c) = plastic(c, 0, 0.8, 8); plane([0,1,0], 0, plast(color(0.75, 1.00, 0.75))); plane([1,0,0], 0, plast(color(1.00, 0.75, 0.75))); plane([0,0,1], 0, plast(color(0.75, 0.75, 1.00))); sphere([0,0,0], 2, metal(royalblue, 0, 0.5));
You can use planes in intersections and differences. In that case, a plane represents the half of the space "behind" the normal vector. This is the most important rule to remember:
set side = [1, 0, 0]; set p(mat) = intersection( plane(+^y, 0.5, mat), plane(-^y, 0.5, mat), plane(side, 2.0, mat), plane(side, 2.0, mat) spin 72^Y, plane(side, 2.0, mat) spin 144^Y, plane(side, 2.0, mat) spin 216^Y, plane(side, 2.0, mat) spin 288^Y);
set side = [1, 1, 0];
intersection( plane (-^z, 1, mat) spin [+52.6625, 0, 0], plane (-^z, 1, mat) spin [+52.6625, -72, 0], plane (-^z, 1, mat) spin [+52.6625, -144, 0], plane (-^z, 1, mat) spin [+52.6625, -216, 0], plane (-^z, 1, mat) spin [+52.6625, -288, 0], plane (-^z, 1, mat) spin [+10.8125, 0, 0], plane (-^z, 1, mat) spin [+10.8125, -72, 0], plane (-^z, 1, mat) spin [+10.8125, -144, 0], plane (-^z, 1, mat) spin [+10.8125, -216, 0], plane (-^z, 1, mat) spin [+10.8125, -288, 0], plane (-^z, 1, mat) spin [-52.6625, -36, 0], plane (-^z, 1, mat) spin [-52.6625, -108, 0], plane (-^z, 1, mat) spin [-52.6625, -180, 0], plane (-^z, 1, mat) spin [-52.6625, -252, 0], plane (-^z, 1, mat) spin [-52.6625, -324, 0], plane (-^z, 1, mat) spin [-10.8125, -36, 0], plane (-^z, 1, mat) spin [-10.8125, -108, 0], plane (-^z, 1, mat) spin [-10.8125, -180, 0], plane (-^z, 1, mat) spin [-10.8125, -252, 0], plane (-^z, 1, mat) spin [-10.8125, -324, 0], mat);
Home | Small Instantiation Language overview | Predefined shapes | Surfaces | Triangles | Polyhedra | CSG operations