3D Simulations and Algorithmic Modeling

Manual 3D modeling techniques are very effective and have had a long history of producing impressive digital humanities projects.  Lisa Snyder’s long-running project to recreate the World’s Columbian Exposition of 1863 in Chicago is a prime example of what these techniques can accomplish in skilled hands.

1863 World's Columbian Exposition

Increasingly, however, computers are doing more of the heavy lifting and there are several methods of generating 3D models that rely on algorithms to create geometric meshes that are being adopted for DH projects. Two major new methods are procedural modeling (which we’ll tackle today) and photogrammetry (next class).


Procedural Modeling

This term refers to the generation of complex geometry from basic shapes through the application of code-based rules.  The leading platform for this type of work in DH is CityEngine, owned by ESRI, the makers of ArcGIS.  This technique allows a user to produce, modify and update large, textured models of entire cities quickly and iteratively.  The output can be explored online or integrated with gaming software or 3D animation packages to produce video games, simulations and movies.

This software was developed for modern city planners and urban architects, but has increasingly been put to use on historic landscapes and built environments, as in the impressive work of Marie Saldaña who developed a Roman temple rule set.

CE workflow, Marie Saldana

In Class Exercise (Northfield 1900 in 3D)

We will explore this technique today in class using CityEngine on the lab computers. We will explore the basics CityEngine using this project, to see how the interface, layers, and CGA Shape Grammar Language work. We will also then add our own data from the digitizing we did last week on our class project.

  • Download the zipped file of Northfield and its buildings at the link below (or from our Google Drive shared folder)
  • In CityEngine Choose File > Import Zipped Project into Workspace to get started.
    • Browse for the downloaded zip file on your machine
    • Make sure the CarletonCampus project is checked
    • Click Finish to load the project
  • Explore the interface to see what this application affords you. In our case
    • A terrain model (or DEM: Digital Elevation Model) that has a texture applied to it which comes from a 1935 aerial image of Northfield
    • A shape file that contains building footprints for Carleton’s campus
    • And a bunch of additional folders in the Project Navigator containing assets we can use to make a detailed 3D model.
  • To create default 3D shapes from our flat footprints, we need to apply a CGA rule to the shapes
    • Open the ESRI.lib project folder and find the Building_From_OpenStreetMap.cga rule set
    • Select all of the shapes in the footprint layer
    • Drag the cga rule file onto the shapes and hey presto! 3D city.
The prepackaged ESRI assets for city building
  • Explore the options in the right inspector to adjust the model output
  • Switch to the Carleton_models.cga rule set to see how we can import buildings like the SketchUp Models you have been making.
  • Now we are going to import our digitized data from the 1900 plat map
    • Sign in to your ArcGIS online account
    • Grab the 1900_PlatBookRiceCountyMN data
    • Apply the Carleton_models.cga rule set and see if you can’t edit it to show your model.
  • With the rest of the time, you can explore the basics of modeling with code by
  • following the basic shape grammar tutorial

UPDATE: Northfield data added

A view of the CityEngine project with our digitized 1900 buildings and landmark manual models added

As we found in class, it appears that ESRI still does not allow you to log into an enterprise portal (like our carleton.maps.arcgis.com account) from CityEngine, despite long standing requests to do so.

As a result, we cannot easily add our digitized features from the web. And ESRI does not work very well with geojson files. So I had to resort to a little data mangling with the open source QGIS software, which let me do the following:

  • Import the geojson file we created with GeoEditor into QGIS
  • Reproject the layer into the same coordinate system as our CityEngine project (“NAD 1983 / UTM Zone 15N” for the curious)
  • Save the layer as a shapefile (1900_PlatBookRiceCtyMN.zip)
  • And finally import that shapefile into CityEngine so that our Northfield footprints play nice with the existing Carleton College ones. PHEW!

The Takeaway

You can now download the CityEngine project folder linked below and reimport it to see how our reconstructed 1900 Northfield is beginning to take shape (following the same procedure we used in class, above)

NorthfieldCityEngine.zip

Leave a Reply

Your email address will not be published. Required fields are marked *