Visualizing outcrop patterns from strike/dip data using MATLAB

Charly Bank, University of Toronto
Author Profile

This activity was selected for the Teaching Computation in the Sciences Using MATLAB Peer Reviewed Teaching Collection

This activity has received positive reviews in a peer review process involving five review categories. The five categories included in the process are

  • Computational, Quantitative, and Scientific Accuracy
  • Alignment of Learning Goals, Activities, and Assessments
  • Pedagogic Effectiveness
  • Robustness (usability and dependability of all components)
  • Completeness of the ActivitySheet web page

For more information about the peer review process itself, please see

This page first made public: Oct 12, 2015


Click to watch Charly Bank discuss his activity or watch the full webinar.
This lab activity allows students in an introductory structural geology class to explore strike-dip outcrop patterns on a map and in 3D. The topography is shown as a contour map; students decide on values for strike and a dip and select a point on the map where these would be measured. The app then shows the outcrop pattern of that plane on the map as well as a rotatable surface plot with both the topography and the plane. The activity encourages students to explore different values of strike and dip, and to work on paper and then compare their results to the model.

Learning Goals

By the end of this activity students will be able to

1. infer strike direction of a plane from its outcrop pattern on a topographic map,

2. differentiate between shallow and deeply stipping beds, and

3. predict an outcrop pattern given strike/dip values at a location on a topographic map.

This activity targets a basic geologic map reading skill linked to data analysis and critical thinking. I have added a simple quantitative task (using the tangent function to calculate the dip from a run-over-rise value).

Context for Use

This activity is done in an introductory course "Geologic structures and maps" attended by ~90 students split into 3 lab sections. Students may use it to check their answer to a lab question which requires them to determine strike and dip of the plane layers on a given geologic practise map; indeed, the topography of this activity follows Lisle's problem 2.14 (Lisle R., 2004. Geological Structures and Maps - a practical guide. 3rd ed., Elsevier). Students do not need expertise in MATLAB, though currently a MATLAB installation is required to run the exercise. Note that we are working on making it into a stand-alone app using the MATLAB app developer tool, but it requires mouse input which is currently not supported by the app developer. This activity is part of the second lab in the course, the first lab introduces students to topographic maps and Google Earth.

Description and Teaching Materials

Launching the file "outcrop.m" (included in the zipped directory) opens a MATLAB GUI. Students need to input values for strike and dip, and click on one point where these may be observed on the map (left panel). The script then calculates the outcrop pattern by solving a three-point problem and shows the outcrop on the map as well as a 3D rendition of both surfaces (topography and dipping plane) on the right panel.

software to run outcrop exercise (Zip Archive 93kB Dec19 18)

And this is the activity sheet (aka student handout)

activity sheet for outcrop exercise (Acrobat (PDF) 177kB Dec19 18)

Teaching Notes and Tips

I have found that students struggle to visualize in 3D, and that producing cross-sections from maps is too big a step at the start. We have styrofoam models to help, but my activity has the advantage that one can test a range of strike/dip values and that students can access to it outside of the lab.

Students may be scared of MATLAB; therefore I show them an example run in the class meeting a day or two before the lab. They also will need to install MATLAB on their laptops, or I need to use a computer lab. I encourage students to share computers and work in teams, as long as each student gets to run the program. A short note during the lab on how to start MATLAB and run this script in our department's computer lab is helpful. Students are not likely to use it if cumbersome to install on their computers, or if they run into problems.

We are working on making this a standalone application. Packaging it with the runtime commands has run into issues with different MATLAB releases (student version, full version, basic version, and year of release) as well as platform (Mac versus Windows). The current version of app developer does not allow for mouse input; I hope this will happen. This exercise will be more appealing to students and instructors if a MATLAB installation is not needed to run it.

The activity could be adapted to include other topographies and more complicated geologic surfaces (e.g., cylindrical folds), and a strike-dip symbol instead of the circle to mark the location... ideas for a future improved release. I am curious to get other instructors' feedback on how effective they think this activity and visualization tool are.


Again, activity in itself does not include assessment (because I am using TA hours during the lab to answer student questions I don't have the hours to have students submit all lab work). Assessment is done in midterm tests and final exams by having students solve pen and paper problems. I have used my script to produce sample problems to use for assessment.

References and Resources

Lisle R., 2004. Geological Structures and Maps - a practical guide. 3rd ed., Elsevier

The following publication also offers matlab scripts for viewing structure contours; however, it (1) describes topography as sinusoidal surface while my script copies that of the lab exercise and (2) does not allow the user to input a location on the map where strike/dip would be measured.

Schöpfer, M.P.J. 2008. A Matlab script for visualizing structure contours and outcrop patterns in three dimensions. Journal of Geoscience Education 56, 142-148. Script can be downloaded from: under "educational material"