Sunday, April 20, 2014

ARCH 689_Project 2_Yucheng Wang

Change Roof Pattern

Project Video

1. Introduction

For the model I created in project 1, the roof top of the model could be changed to be more interesting. Thus, in this project, I will apply paneling tools to change the roof pattern according to modules I created or pipe patterns with various changeable parameters.

2. Design Intent

#1. Add module patterns on the roof
To add module patterns on the roof top, a 'module pattern engine' should be created. Then, different module patterns can be added on the roof individually or together.

#2. Add pipe pattern on the roof
Use appropriate paneling nodes to create different pipe pattern on roof, and the pipe pattern can be changed according to different parameters.

3. Module Patterns

#1. Create module pattern engine
One of the roof top in project 1 model was selected as the surface reference component.

Intended Area

I chose the grid by domain number node in paneling tools to feed the surface into a grid.

Feed the surface into a grid

Then I used ptCoordinate node in paneling tools to calculate the normal direction at each grid point. Thus I can use the z vector from the calculation to offset the grid in a direction normal to the surface, by using the amplitude node and move node in grasshopper.

Offset the grid in a direction normal to the surface

Then I created an attractor curve in Rhino, and used the curve attraction node in paneling tools to calculate weights at each grid point to control the module pattern distribution.

Create attractor curve and calculate weights

Then I used morph 3D list node in paneling tools to apply module pattern on the surface.

#2. Apply cuboid module pattern on the surface
I created different cuboid module meshes with different opening sizes in Rhino, and selected them as mesh reference in grasshopper.

Create cuboid module pattern

Then I connected the cuboid module pattern to the morph 3D list node to add this pattern on the roof.

Add cuboid module pattern on the roof

The module pattern distribution can be controlled by the position of attractor curve.


Control the module pattern distribution

#3. Apply cylinder module pattern on the surface
First I created a cylinder as module pattern, which can be changed according to various parameters.

Create changeable cylinder

Then I connected the cylinder module pattern to the morph 3D list node to add this pattern on the roof.

Add cylinder module pattern on the roof

#4. Add the cuboid module pattern and the cylinder module pattern together on the surface
The cuboid module and the cylinder module can be connected to the morph 3D list node together.

Add the cuboid module and the cylinder module together

The module patterns distribution can also be controlled by the position of attractor curve.


Control the module pattern distribution

4. Pipe Patterns

#1. Grid Pattern
The same as adding module pattern on the surface, I firstly used the grid by domain number node in paneling tools to feed the surface into a grid. Then I used the panel grid node to connect each point on the grid.

Connect each point on the grid

Then I used pipe node in grasshopper to create pipes based on the curves.

Create pipes based on the curves

#2. Diamond Pattern
The same as adding grid pattern on the surface, I firstly used the grid by domain number node in paneling tools to feed the surface into a grid. Then I used the convert to diamond node in paneling tools to create a diamond grid.

Create diamond grid

Then I used cellulate node in paneling tools to generate list of wires of paneling cells to limit the curves within the surface.

Generate list of wires within the surface

Then I used pipe node in grasshopper to create pipes based on the wires.

Create pipes based on the wires

5. Conclusion

By using paneling tools and further exploring different functions of paneling tool components, a lot of different patterns can be created and added to customized surfaces. 







Monday, March 24, 2014

ARCH 689_Project 1_Yucheng Wang

Project Video
1.  Case Selection
I selected the Harbin Cultural Center in Harbin, China as my target model. Since there is only perspectives and roof plan as reference, I can only roughly build the form of the building.

Top view of the building

Roof plan of the target building

2.  Modeling
2.1 First Layer
Based on the roof plan of the target building, I drew the outline of first layer as my basic curve.


Then I used offset and move node to create the boundary of first layer.


I lofted each two of these four curves together, and joined these four lofted surface into a Brep as the first layer.



The direction and height of first layer can be changed by the following parameters.



2.2 Second Layer
Similarly, I built the second layer. The only difference is that I have to choose the subcurve from the basic curve, using the shatter node.


I also have to redraw the Nurbs curve to control the form of the second layer.


I got the boundary of second layer.


I lofted each two of these four curves together, and joined these four lofted surface into a Brep as the second layer.


The location, length, width, and direction of second layer can be changed by the following parameters.


2.3 Third Layer
The third layer is similarly built as the second layer. I have to choose two subcurves from the basic curve, and connect a rotated curve with these two subsurves to create a new basic curve.


I redrew the connected curve using Nurbs curve to guarantee the continuity.


Similarly, I use the offset and rotate node the create the boundary of third layer.



And I lofted each two of these four curves together, and joined these four lofted surface into a Brep as the third layer.


The length, width, and direction of third layer can be changed by the following parameters.


2.4 Roof Paneling
I use one curve from third layer as reference.


Then I used curve closet point to a portion of the reference curve.


Then I used the two end points of the previous curve and the moved mid-point of these two end points as three control points to create a Nurbs curve.


I used Edge Surface node to create a surface according to these two curves.


Then I used Divide Surface node, Interpolate Curve and Pipe node to create roof paneling.


Similarly, I created the other roof paneling.


The position and form of roof paneling can be changed by the following parameters.


2.5 Final Model


3. Physically-based Model
I used Kangaroo, Springs, and UForce (gravity) to add gravity force on the roof.

Toggle: True

Toggle: False

4. Curvature Analysis
Since all my model is based on curves, curvature of basic curves are very importance to the model.

Thus, I analyzed each reference curve of these three layers to get every point's curvature on the curve.

First Layer

Second Layer

Third Layer

5. Perspective