TCFI

CREATE ATON World-Building Tasks

Introduction

The ATON project involves robotics, computer vision, distributed processing, wireless networks, and virtual reality technologies. In the task described here, the ATON team at CREATE has developed a detailed, realistic model of parts of the campus of UC San Diego, where our partners have set up video capture equipment and are deploying seeing robots.

The team consisted of Andreas Engberg, Howard Durand, Brent Lehman, and Tyler Beckert, and was coordinated by Alex Kouznetsov; they started with the plans for a set of buildings near to the central traffic circle at UCSD, including the public safety building/police station, SERF (Science Engineering Research Facility), CMRR (Center for Magnetic Recording Research), and Warren Lecture Halls.

The architectural drawings were imported using the Rhino package and modelled into basic 3D solid structures in two steps: capture of the 2D model of each floor of a building, and (2) extruding each floor into a 3D model of the building. These steps are illustrated in the two following screen dumps from the Rhino modeling software package. (Each of these thumbnail images is a button that displays a full-screen version of the screen.)
 

Figure: 2D plan for a floor of a building at UCSD being edited in the Rhino package

Only the exterior (outline) of the floor is used to create the 3D-model.

Figure: A 3D model of a site rendered in Rhino

After the completion of each building's model, they were placed on the campus master CAD drawing for precise alignment.  The road, paths, and grass were also built on this master drawing.  The kiosk, lamp posts and other objects were built based on photographs of the area.
 

Figure: A view of the terrain at UCSD rendered using the DRIVE VR package

Next, textures were applied to increase the realism, especially for grass, road surfaces, and the
sky. The textures were created from photographs we took at UCSB and applied on each object/structure (except
the buildings) by using the AC3D software.
 

Figure: An example showing grass, road, and sky textures

Finally, synthetic trees were generated by a custom C program and were added to increase the realism of the scenes. The arboreal props included in the DRIVE VR package fall far short of the mark, which is no surprise considering these models were created manually and with minimal effort.  A bit more effort can produce a tool that generates trees automatically and thus eliminates the need for handcraft.

Benoit Mandelbrot's The Fractal Geometry of Nature showcases simple mathematical models that closely approximate real-life specimens.  One key trait that these models share is called "self-similarity", which means that their respective characteristic structures are essentially repeated at all scales. Trees illustrate this concept well because their branches look like smaller versions of the whole. Recursive function calls are a computer program's version of self-similarity.  In fact, recursion lends itself very well to constructing self-similar objects.  The function "create_branch", after generating a parent branch, calls itself a number of times, once for each subbranch. The parameters that define the tree's structure are:

  • Termination - Whether trunks and branches terminate at the point where subbranches diverge
  • Base Width Scale - The width of the trunk
  • Base Length Scale - The length of the trunk
  • Relative Width Scale - The width of a subbranch relative to its parent branch
  • Relative Length Scale - The length of a subbranch relative to its parent branch
  • Base Branching Factor - The number of the trunk's immediate children
  • Base Branch Offset - The distance along the trunk to the first branch
  • Relative Branching Factor - The branching factor of a branch relative to its parent branch
  • Relative Branch Offset - The branch offset of a branch relative to its parent branch
  • Branch Depth - The number of recursion steps; if non-integral, the integer portion denotes a base branch depth 'd' and the fractional portion gives the percentage of top-level branches whose branch depth will equal 'd'. The remaining top-level branches will have branch depth 'd'+1.
  • Foliage Type - A unit of foliage consists of two regular polygons situated perpendicular to each other and intersecting along a common diameter.  The foliage type is an integer that tells how many edges constitute the polygons for that particular tree.
  • Foliage Scale - Controls the size of a tree's foliage units.
  • Density & Tensile Strength - These parameters refer to material of the tree.  Our program makes a half-hearted and very ad hoc attempt at constraining a tree's construction with some realistic physics.  (Never mind the floating leaves!)
  • Future additions may include random foliage and bark color, gnarling, and an improved physics model.

    Figures: Campus scenes with simple trees

    Once the worlds were complete, the entire model was exported to VRML for use with VR delivery platforms.

    Several "fly-through" movies were generated using the DRIVE VR renderer and user navigation tools.

    Figure: Navigating along the path of an imaginary robot on the campus of UCSD


    We have prepaed 2 QuickTime movies of DRIVE navigation around the portion of the UCSD campus that we hae modeled. The first example is a quick, compressed movie amounting to 30 MB of data; it is available here.

    The larger fly through is a 330 MB QuickTime move available here.
     

    For more information, see http://www.create.ucsd.edu/ATON or contact Stephen T. Pope.


    
    
    URL = http://www.create.ucsb.edu/aton/0010/UCSD.Model.html
    Created: 2000.10.6; LastEditDate: 2000.11.02