Project: Terrain Modelling

This is a sub project of the ongoing project: Hengjin Villiage Plan.

Terrain Model Report

DEM data source

GoogleEarth - RenderDoc - Blender not seamless, unable to use

SketchUp - Digital Globe

low resolution

picture 1

Dataset: ASTGTMV003_N29E121

DOI 10.5067/ASTER/ASTGTM.003 earthdata 2000-03-01 00:00:00 - 2013-11-30 23:59:59 resolution of 1 arc second (approximately 30 meter horizontal posting at the equator)

picture 2

Dataset: ALPSRP133840570-RTC_HI_RES,RTC_HI_RES) earthdata 2008-07-29 14:21:47 - 2008-07-29 14:21:55 resolution of 12m

picture 3

Satalite: TerraSAR-X region not found

image data source

SketchUp - Digital Globe

Photoshop: remove excessive water print, and additional drawing Illustrator: vectorization caffe: scale up resolution

Satalite: Worldview-3 resolution of 0.3m proposal required, need waiting within 14 days owned by digital globe so potentially we may have already get it

Satalite: 高分二号 resolution of 0.8m 要钱 分辨率不如Worldview-3

Curve Generation Algorithm Development

UCB ARCH 259 Robotic Fabrication

Mark Ma, Yasaman Yavari


The final object is to make something fantastic, while creating a workflow including techniques of 3D scanning, parametric modeling, robotic arm operations, 3D printing and bio-mechanical knowledge.

While breaking down the final object, Yasaman and I found our interest in the parametric modeling part. With instructions from Professor Simon, we began our quest to develop a robot-printing friendly curve generation algorithm. To be robot-printing friendly, the curve generated should have the following features:

  • Artistic (subjective)
  • Reasonably structured (objective)
  • As continuous as possible so that saves the trouble of reconnecting during printing (objective)


Base shape

With the conclusion that we’re to use elastic canvas for basic form-finding, the first step of our modeling would be simulating this process. Several opinions are available:

  • Use finite element method to find the exact shape of the canvas under loading
  • Use Kangaroo to simulate the physical process
  • Use minimal surface

The minimal surface method is dropped due to the fact that we are to use form-finding in reality. The FEA method, despite exact and promising, does not go well with the rest of the project with its model format. Considering that the modeling precision would not be a big issue in this step, Yasaman and I decided to use Kangaroo for base shape simulation.

The drawback of Kangaroo is that we can hardly define an isotropic elastic material. The Quadrilateral Mesh, despite simple and straightforward, promises the same modulus only in the orthogonal direction of the mesh UV basis.

Through careful modeling, I add another restriction at 45° and 135° of the UV basis, making it closer to an isotropic material. Considering the exact model are to be found out using real form-finding and 3D-scanner, the remaining error is neglected.

20200501 Base Shape
20200501 Base Shape

Structural reasonableness

Considering the problem to be print on the basic form, several ideas of curve generation have been proposed. One plan is to adopt optimized principle stress lines. The advantage is obvious, as such a structure would be very reasonable under loading. However, principal stress lines turned out hard to be adopted. The continuity of the principle stress line does not guarantee the well-distribution of these lines, which often leaves large holes in structure generated. Due to the high sensitiveness to shape and load, the principal stress lines are hard to manipulate too. Consequently, we decided to start from the curve generation itself.

Curve generation

Step 1. Curve generated according to force distribution

One way of curve generation is to divide and lengthen parts of a continuous curve, while keeping the curve away from intersecting with itself, which defines all the goals we need to implement this idea with Kangaroo:

  • Lengthen curve sections
  • Prevent curve from intersecting with itself

To adapt the generated curves responsive to structural behavior, it's natural to densify the area with large stress, which gives the third goal:

  • Curve distribution responsive to stress distribution

With these goals the curves are successfully generated, meeting all our objective goals. Further development should focus on the subjective part, aka the artistic effects.

20200501 Step 1
20200501 Step 1

Step 2. Curve generated freely

To gain more control of the curve generation, some restrictions have to be dropped. Now take a look back at the initial three goals, if we neglect the curve distribution requirement, we can achieve something looks very alike Zaha’s project.

20200501 Step 2
20200501 Step 2

Recall that Zaha’s project uses a manually defined base curve to approximate initial stress distribution, we now certainly have a better solution: to use the curve generated in 1st step as the base shape for 2nd step, which gives us the following result.

20200501 Step 12
20200501 Step 12

Step 3. Combination

There is an infinite number of curves we can generate by tweaking with all the parameters, and an even larger infinite number of combinations with different layer position, tube thickness, color, etc. For a quick example, this is what it will look like if we combine Step 1+2 as a thicker base layer and Step 2 as a thinner decoration layer.

20200501 Step 3
20200501 Step 3


The curve generation is a complex workflow not fully automated, as lots of attention needs to be paid to calibrate all the parameters in order to get the best shape. All generated curves have the potential to become the final project, with a combination of each other and further improvement based on printing practice.

Due to the virus situation nowadays, it’s becoming harder for our project to be actually constructed. I hope all these quests into curve generation can be preserved, developed, and applied in future practice.


  1. Zaha Hadid Design - Thallus for for White in the City Animation - YouTube

  2. Curve growth - differential growth (Where to Start?) - Grasshopper - McNeel Forum

Dynamo vs. Grasshopper

I finally got my hands on Dynamo trying to model a parametric triangular sphere, which I have done several weeks earlier in Grasshopper. Convinced by Zhekai Li that Dynamo would perform better since it has advantage over complex modeling situation, I started from scratch to learn Dynamo. And 2 days later, eureka!


So let's come back to the topic: how does it feel to model something in Dynamo comparing with Grasshopper?

General parametric design of a steel-glubam hybrid space truss

Ma, K., and Xiao, Y. “General Parametric Design of a Steel-Glubam Hybrid Space Truss.” In Modern Engineered Bamboo Structures: Proceedings of the Third International Conference on Modern Bamboo Structures (ICBS 2018), June 25-27, 2018, Beijing, China, 1st ed., 223–29. CRC Press, 2019.

K. Ma

Zhejiang Univ.-Univ. of Illinois at Urbana Champaign Institute, Jiaxing, Zhejiang, China

Y. Xiao

Zhejiang Univ.-Univ. of Illinois at Urbana Champaign Institute, Jiaxing, Zhejiang, China

Nanjing Tech University, Nanjing, Jiangsu, China

Department of Civil Engineering, University of Southern California, Los Angeles, CA, USA

ABSTRACT: This paper introduces a parametric design method for a hybrid truss system composed of glued laminated bamboo (glubam) and steel. Experiments on determining material’s physical and mechanical parameters were carried out first, on basis of which design stages from modeling, analysis, optimization to manufacturing are all rendered possible through parametric ways by defining corresponding parameters within one single platform - Grasshopper. By maximizing automation during the process, efficiency and extensibility are taken into consideration for possibly further, larger, and more complex design.

Project: Large Waste Transfer Station

20190628 Large Waste Transfer Station 20190628 Large Waste Transfer Station

20190811 Large Waste Transfer Station 20200811 Large Waste Transfer Station

20190815 Large Waste Transfer Station 20200815 Large Waste Transfer Station


Directed by Prof. Yan Xiao.

Designed by Mark Ma.

Non-commercial project for research and demo purpose.

Project: Waste Transfer Station

20190324 Waste Transfer Station 1.0.1 Day 1 20190324 Waste Transfer Station, by Y. Xiao, K. Ma

202001030925 Waste Transfer Station 202001030925 Waste Transfer Station, Photo by S.C. Zhou


Directed by Prof. Yan Xiao.

Designed by Mark Ma.

Non-commercial project for research and demo purpose.

Project: RE Frame

Non-commercial project for research and demo purpose.

Project Introduction

This project is based on the 1st-prize-winning project 'RE Frame' of the Bamboo Pavilion Competition in Mediterranean University of Reggio Calabria by Stefano Vitale and his team. It's an honor to join him in such a great project. All following are based on my own understanding of the project.