viewmodels

camera definitions for VRML exporting, as well as  perspective and parallel propjections are defined here using the PHIGS conceptual model of 3D graphics. Several predefined view models are also given, corresponding to pretty standard views used by engineers and by architects. Useful to learn or teach the mathematics of graphics projections

  • Axialcameras for vrml exporting. Centered on the reference frame axes
    Pre/Post conds (scene::ispol) => (ispol)
    Example Axialcameras:(cuboid:< 1,1,1>)

  • Cabinet object; standard view model for parallel oblique projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:cabinet:(cuboid:< 1,1,1>)

  • Centeredcameras for vrml exporting. Centered on the scene containment box
    Pre/Post conds (scene::ispol) => (ispol)
    Example Axialcameras:(cuboid:< 1,1,1>)

  • Centralcavalier object; standard view model for parallel oblique projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:centralcavalier:(cuboid:< 1,1,1>)

  • Dimetric object; standard view model for parallel orthogonal projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:dimetric:(cuboid:< 1,1,1>)

  • Isometric object; standard view model for parallel orthogonal projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:isometric:(cuboid:< 1,1,1>)

  • Leftcavalier object; standard view model for parallel oblique projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:leftcavalier:(cuboid:< 1,1,1>)

  • Onepoint object; standard view model for perspective projection
    Pre/Post conds => (isviewmodel)
    Example projection:perspective:onepoint:(cuboid:< 1,1,1>)

  • Orthox object; standard view model for parallel orthographic projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:orthox:(cuboid:< 1,1,1>)

  • Orthoy object; standard view model for parallel orthographic projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:orthoy:(cuboid:< 1,1,1>)

  • Orthoz object; standard view model for parallel orthographic projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:orthoy:(cuboid:< 1,1,1>)

  • Parallel projection class, determining the type of 3D pipeline
    Pre/Post conds (vrp, vpn, vup, prp, window::IsSeq; front, back::IsReal)
    => (isfun)
    Example projection:parallel:orthoy:(cuboid:< 1,1,1>)

  • Perspective projection class, determining the type of 3D pipeline
    Pre/Post conds (vrp, vpn, vup, prp, window::IsSeq; front, back::IsReal)
    => (isfun)
    Example projection:perspective:threepoints:(cuboid:< 1,1,1>)

  • Projection top-level user interface operator
    Pre/Post conds (type::or ~ [isparallel, isperspective])(view::isviewmodel)
    (scene::ispol) => (ispol)
    Example projection:parallel:orthoy == An-Anonymous-Function : IE3 => IE2

  • Rightcavalier object; standard view model for parallel oblique projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:rightcavalier:(cuboid:< 1,1,1>)

  • Threepoints object; standard view model for perspective projection
    Pre/Post conds => (isviewmodel)
    Example projection:perspective:threepoints:(cuboid:< 1,1,1>)

  • Trimetric object; standard view model for parallel orthogonal projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:trimetric:(cuboid:< 1,1,1>)

  • Twopoints object; standard view model for perspective projection
    Pre/Post conds => (isviewmodel)
    Example projection:perspective:twopoints:(cuboid:< 1,1,1>)

  • Xcavalier object; standard view model for parallel oblique projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:xcavalier:(cuboid:< 1,1,1>)

  • Ycavalier object; standard view model for parallel oblique projection
    Pre/Post conds => (isviewmodel)
    Example projection:parallel:ycavalier:(cuboid:< 1,1,1>)

PLaSM is Free Software and may be distributed under GNU LGPL