The
modeling environment
General Information
IRIT is a solid modeling environment that allows one to model basic,
primitive based, models using Boolean operations as well as freeform
surface's based models. It has several unique features such as strong
symbolic computation, support of trivariate volumes and triangular
patches, high portability, and numerous unique applications such as
surface layout decomposition, metamorphosis of curves and surfaces,
and artistic line art drawings of parameteric and implicit forms.
|
The system is designed for simplicity and is geared toward research.
As such, no graphical user interface (GUI) exists or is planned in the
near future. The modeling is performed using the main
module/executable of the system which is called (surprise!) IRIT. A
textual interface (or PUI for programmable user interface) is
available which provides the interaction interface. An interpreter
processes the user's command and executes them. This interpreter
includes general mechanisms that are common in high level programming
languages such as loops, conditional sentences, and functions. In
addition, features that can be found in modern languages such as
operator overloading and object oriented design are extensively used.
|
Version 7.0 of the IRIT solid modeling system contains tools that can
aid in research and development in the areas of computer aided
geometric design and computer graphics. Here is a list of the features
that can be found:
Full featured points/vectors/homogeneous matrices algebra by overloading
the basic operators +,-,*,/,^.
Polygonal based modeling. Constructors for basic primitives (box, cone,
torus, etc.) are provided as well as low level constructors for direct
polygonal model's construction. Boolean operations between polygonal
models is also supported.
Freeform curve and surface manipulation tools. Supported are
polynomial and rational Bezier and piecewise polynomial/rational NURB
curves and surfaces. A large set of tools to manipulate freeform curves
and surfaces is provided and includes (for both curves and surfaces):
Low level Constructors (direct control points control). |
High Level Constructors (Sweep, Extrude, Boolean Sum, etc.). |
Merging and Profiling tools. |
Evaluation. |
Subdivision. |
Refinement. |
Degree Raising. |
Differentiation and Integration. |
Symbolic Computation (Difference, Sum, and Product). |
Polygonal/Polyline approximation. |
Composition. |
Offset. |
Trimmed surfaces. |
Trivariate volumes. |
Triangular patches. |
Tools to compute the zero set of curves, the extreme points,
the minimal or maximal distance from a curve to a point or a line,
the inflection points and/or points of extreme curvature, and the
intersection points of two curves are also available. Several
different way to compute offset curves as well as the evolute curve,
and K-orthotomic curve.
The symbolic tools provided allow one to represent scalar and vector
fields of differential properties of the curves and surfaces such as
normals and curvature. The curve's inflection and extreme curvature
detection tools, mentioned above, exploits these symbolic tool and are
therefore robust. For surfaces, this subset includes tool to compute
the Mean, the Gaussian, and an extremum bound on the principal
curvatures.
In addition, bisectors between a curve and a point, two 3-space curves,
and between a surface and a point are all easily computable using these
symbolic tools.
Trivariate Bspline and Bezier support that includes evaluation, iso surface
extraction, subdivision, differentiation etc. This package also allows
one to extract polygonal approximation to iso surfaces of trivariates using
a variation of marching cubes, as well as construct a line art artisitic
drawing of such an iso surface.
Triangular patches support that includes evaluation, iso curves
extraction, subdivision, differentiation etc.
In addition to the main module of IRIT, several other tools are provided:
poly3d-h: A hidden line removal tool. |
irender: A scan conversion Z buffer rendering tool. |
illustrt: A line drawing illustration tool. |
xogldrvs/xgldrvs/xglmdrvs/xmtdrvs/x11drvs/wntdrvs/wntgdrvs/os2drvs/amidrvs:
Display devices (and viewing programs at the same time) for SGI's Open GL
and gl, gl/Motif, X11, X11/Motif, Window NT/Win95, Windows NT/Win95 with
Open GL, OS2 2.x/3.x, and AMIGA. All these drivers support the display
of animation using animation curves. |
irit2ps/irit2dxf/irit2iv/irit2nff/irit2plg/irit2ray/irit2scn/irit2xfg/
irit2hgl/irit2pov:
Filters to convert data files created by IRIT to PostScript, DXF,
SGI Inventor, NFF, REND386, Rayshade, SCN, Xfig format, HP HPGL plotter
language, and POVRAY raytracer's format. |
dat2irit/dxf2irit: Filters to convert from data file of IRIT to IRIT's
solid modeling scripts and from DXF to IRIT. |
The IRIT solid modeller is actively used in various research
areas. Several examples includes (See also Images and Pictures - IRIT):
Adaptive Isocurve Coverage. A coverage based on adaptive extraction
of isocurves can be used for various purposes from toolpath for
machining purposes to image rendering. This algorithm, that is
exploiting symbolic computation, is implemented using the IRIT
solid modeller and a tool named xgladap make use of the hardware of
the SGI systems to provide real time rendering using adaptive
isocurves. |
Surface Layout. A new fabrication scheme automatically computes an
approximated layout of a free form surface, on the plane, so it
can be cut from planar sheets (such as paper or fabric) and
stitched together to form an approximation of the original
surface. Tools to automatically compute the layout were implemented
using IRIT. |
Morphing. Using refinement and degree raising, two tools that are
available in this system, different surfaces can be brought to
a common function space and be continuously morphed or transformed
from one to the other. Again, a successful implementation exists in
IRIT. |
Matching. The inter-correspondance between two freeform curves is
of importance in various applications from modeling (ruled and blend
surfaces), through graphics (morphing), to computation geometry
(offset computation). |
Illustrt. Line drawings is a neglected area of computer graphics.
Illustrt is a tool developed with the aid of IRIT, and now is part
of IRIT, to automatically generate line drawings with special effects
such as width/size and intensity depth cueing, Z sorting, and end of
edge clipping etc. |
The system is written in C and is running on virtually all Unix
environments, including but not limited to SUN's SPARC, SGI's SGI4D,
HP3xx/4xx/7xx, DEC 5000, IBM RS6000, E&S ESV, and i386 SVR4, using
either X11 or, when available, SGI's GL. In addition, other
environments such as Window NT, Win95, and OS2 using IBM PC 386 and
above or 68xxx AMIGA are also supported.
Reports and Papers
The IRIT modeling package was exploited for a whole variety of
research activities. A list of published papers and reports can be
found in Reports and Papers.
Whats New
Interested in the new staff? Click on Whats
New
Same Nice Pictures
Interested in nice pictures created using IRIT? Click on Images and Pictures - IRIT.
Technion Specific
Interested in the local IRIT installation? Click on Installation of Irit at the Technion.
On Line Manuals
Users' Manual - IRIT
Programmers' Manual - IRIT
BECAUSE IRIT AND ITS SUPPORTING TOOLS AS DOCUMENTED IN THIS DOCUMENT
ARE LICENSED FREE OF CHARGE, I PROVIDE ABSOLUTELY NO WARRANTY, TO THE EXTENT
PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING, I
GERSHON ELBER
PROVIDE THE IRIT PROGRAM AND ITS SUPPORTING TOOLS "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THESE PROGRAMS IS WITH
YOU. SHOULD THE IRIT PROGRAMS PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL GERSHON ELBER,
BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES,
OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR A
FAILURE OF THE PROGRAMS TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY GERSHON
ELBER) THE PROGRAMS, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
Attribution and Contribution
The IRIT modeling package was originally developed by
Gershon Elber
and is (C) Copyrighted to him. Continuiting to develope this system,
the vast majority of the implementation is done by
Gershon Elber .
Various people have donated their time/code to become part of the IRIT
system. Click on the Contributor List for a
list of these people as well as their contribution. For possible
contirbution options, see Contribution
Rules
Many Beta Testers helped
testing the system in its various stages of development and their
effort is acknowledged herein.
Coding Standards
The IRIT modeling package is implemented using the Ansi C programming
language. Strict Coding Standards are
employed throughout the code.
Getting you own copy of the IRIT modeling system
The IRIT modeling package is free for non commercial use and it is
copyrighted to
Gershon Elber
(See Licensing).
One can get the complete set of Ansi C sources as well as documentation
from the following FTP sites.