Efi Fogel
home 
contact
 
search
 
[2D][3D][Arrangements]
 

player

Download
mink3d
player is an interactive 3D viewer of 3D scenes and models. It can read data in VRML format, display it, and respond to user events. The player is degenerate, as some VRML features are not supported (e.g., fog, scripts, etc.). On the other hand, it is enhanced with some new features. In particular, the input format was extended with the ExactPolyhedron geometry-node that represents models using the CGAL Polyhedron_3 data structure, the CubicalGaussianMap geometry-node that represents models using the Cubical_gaussian_map data structure, the ColorBackground, the SingleKeySensor and a few other nodes.

Type
player [options] <model>
to execute the player, where <model> is the name of a file in VRML format.

The specification of the some of the new nodes follows.

ExactPolyhedron {
  exposedField  SFNode   coord              NULL
  field         MFInt32  coordIndex         []          # [-1,)
  field         SFBool   convexHull         FALSE
}
The coord field contains a Coordinate node that defines the 3D vertices referenced by the coordIndex field. The indices in the coordIndex field specify the polygonal facets by indexing into the coordinates in the Coordinate node. An index of "-1" indicates that the current facet has ended. If the coordIndex field is absent or the convexHull field is TRUE, the polyhedron is the convex hull of the vertices defined in the coord field.
CubicalGaussianMap {
  exposedField  SFNode   coord              NULL
  field         MFInt32  coordIndex         []          # [-1,)
  field         SFBool   DrawDual           FALSE
  field         SFBool   drawDualOpaque     FALSE
  field         SFBool   drawDualHaloed     TRUE
  field         SFBool   drawDualUnfolded   FALSE
  field         SFBool   drawDualCube       TRUE
  field         SFFloat  dualLineWidth      1
  field         SFColor  dualCubeColor      0.5 0.5 0.5 # [0,1]
  field         SFColor  dualLineColor      1 1 1       # [0,1]
}
The coord field contains a Coordinate node that defines the 3D vertices referenced by the coordIndex field. The indices in the coordIndex field specify the polygonal facets by indexing into the coordinates in the Coordinate node. An index of "-1" indicates that the current facet has ended. If the dualDraw field is FALSE, the primal representation of the polyhedron is displayed. Otherwise, the dual representation of the polyhedron is displayed. While in dual display-mode, if the drawDualUnfolded field is FALSE, the unit cube of the cubical Gaussian map is displayed in 3D. Otherwise, it is displayed unfolded. While in dual 3D display-mode, if the drawDualOpaque field is TRUE the faces of the cube are opaque, and only the front facing faces are drawn. Otherwise, all faces are drawn, and the front faces are translucent. While in dual 3D display-mode, if the drawDualHaloed is TRUE, the segments are drawn hauloed. The dualLineWidth indicate the width of the drawn segments. The dualCubeColor and dualLineColor specify the color of the faces of the cube and the color of the segments respectively, while in dual display-mode.
NefGaussianMap {
  exposedField  SFNode   coord              NULL
  field         MFInt32  coordIndex         []          # [-1,)
  field         SFBool   DrawDual           FALSE
  field         SFBool   drawDualOpaque     FALSE
  field         SFBool   drawDualHaloed     TRUE
  field         SFBool   drawDualSphere     TRUE
  field         SFFloat  dualLineWidth      1
  field         SFColor  dualSphereColor    0.5 0.5 0.5 # [0,1]
  field         SFColor  dualLineColor      1 1 1       # [0,1]
}
The coord field contains a Coordinate node that defines the 3D vertices referenced by the coordIndex field. The indices in the coordIndex field specify the polygonal facets by indexing into the coordinates in the Coordinate node. An index of "-1" indicates that the current facet has ended. If the dualDraw field is FALSE, the primal representation of the polyhedron is displayed. Otherwise, the dual representation of the polyhedron is displayed. While in dual display-mode, if the drawDualOpaque field is TRUE the sphere is opaque, and only the front facing hemisphere is drawn. Otherwise, the entire sphere is drawn, and the front hemisphere is translucent. While in dual display-mode, if the drawDualHaloed is TRUE, the geodesic segments are drawn hauloed. The dualLineWidth indicate the width of the drawn geodesic segments. The dualSphereColor and the dualLineColor specify the color of the sphere and the color of the geodesic segments respectively, while in dual display-mode.
ColorBackground {
  field         SFColor  color              0 0 0       # [0,1]
}
This node can be used to initialize the background to some color specified with color> field. All the examples generated for the paper use a white background. The corresponding models contain the following statement:
  ColorBackground { color 1 1 1 }
SingleKeySensor {
  field         SFString key                none # ["a", "b", ...]
  field         SFBool   state              FALSE
}
This node can be used to map a single key to function.

Input

The input files available for download contain ROUTE statements that enable the toggling of the boolean state of the fields above. The table below describes the mapping between the keys and the fields they control used as a convention in all input files.
KeyField
ddualDraw
odrawDualOpaque
udrawDualUnfolded
ldrawDualHaloed
bdrawDualBackground

Models (Click at the image to see more)

Platonic

[Tetrahedron]
Tetrahedron
[Cube]
Cube
[Octahedron]
Octahedron
[Icosahedron]
Icosahedron
[Dodecahedron]
Dodecahedron

Semi Regular

[Pentagonal Hexecontahedron]
Pentagonal Hexecontahedron
[Truncated Icosidodecahedron]
Truncated Icosidodecahedron

Pyramids

[Dioctagonal Pyramid]
Dioctagonal Pyramid
   

Dipyramids

Geodesic Spheres

[Geodesic Sphere 1]
Geodesic Sphere 1
[Geodesic Sphere 2]
Geodesic Sphere 2
[Geodesic Sphere 3]
Geodesic Sphere 3
[Geodesic Sphere 4]
Geodesic Sphere 4

Maximal Number of Edges and Vertices in the Gaussian Maps

[Max 4]
Max 4
[Max 5]
Max 5
[Max 11]
Max 11
[Max 101]
Max 101

Minkowski sums

[Dioctagonal Pyramid + Dioctagonal Pyramid]
Dioctagonal Pyramid Dioctagonal Pyramid
[Pentagonal Hexecontahedron + Pentagonal Hexecontahedron]
Pentagonal Hexecontahedron Truncated Icosidodecahedron
  
2D 3D AOS