Assignment 01
.gh
file with the completion time of the assignment. -- This is important for setting the appropriate difficulty level for the future assignments.Name | Date |
---|---|
Release | 2023-09-22 |
Submission | 2023-09-28 23:59 |
Overview
After the first class on Grasshopper Introduction, you should now have a basic understanding of the Rhino-Grasshopper platform and how Grasshopper works as a procedural programming language. This assignment aims to help you master the "procedural" idea and how data is managed/manipulated through the flows of operations.
With a bit of effort, you can trust yourself to learn even more than you expected.
Assignment (10pts)
In the provided Assignment_1.3dm file, you will find several titled Rhino commands. Your task for this assignment is to create the corresponding Grasshopper scripts that conduct the same tasks.
Hint
- Try to discover similar commands by typing the keywords (double-click and type).
- To get where a component is located in the panel, press Ctrl+Alt + Mouse-Left-click on the component:
Geometry Operation (3pts)
Please complete the tasks below. You may need to discover new components according to the task description.
ROTATION (Example)
The first function and a part of the corresponding scripts are provided as an example:
- Input: Use a BREP component to register the rhino object (letter T);
- Process:
- P1: Use the different rotate components from Grasshopper to rotate the object so that the you can see the letter in the correct direction in both "Front" view and "Right" view.
- Start two new processes (with the same input), try to:
- P2: rotate around Z-Axis then rotate around X-Axis;
- P3: rotate around X-Axis then rotate around Z-Axis;
- Observe the two results, are they the same? why? write down your answer in a
panel
component (Try to use a different color for thispanel
).
NON-UNIFORM SCALE
- Input: Use a brep component to register the rhino object (a box);
- Process: Finding the correct Grasshopper component to scale the box so that the lengths in each direction {10m, 10m, 10m} becomes {15m, 20m, 30m}.
OFFSET & REBUILD
- Input: Use a curve component to register the rhino object (a box);
- Process 1: Offset the curve in both sides with a distance of 1m;
- Process 2: Rebuild the two offsetted curves with the following parameters:
ptNum = 20; degree = 2
,ptNum = 10; deg = 1
For both process, you should not bake any object into Rhino.
DIVIDE & MOVE
- Divide the circle with 12 equally distanced points.
- Using the point at the bottom of the triangle as a reference point, move the triangle object to the 12 points you get.
- (Bonus Points) Use whatever method you can, align the triangle so that the tips of all the 12 triangles are pointing to the centre of the circle.
- (Bonus Points) Continue with the Q3 above and think of the circle and these 12 points as a "watch" or a "clock". Use whatever method you can, scale the object by a factor of
1.5
for the3
,6
,9
, and12
hours.
Math Basics (4pts)
Arithmetic Operation
Please find the correct components to complete the following tasks:
- Raise the given number to its power of 2 (if you don't know what "power of 2" means, please teach yourself some math basics).
- Divide the given number by half.
- Compose a vector from and the results of the above two tasks as , , components.
- Compose another vector by reverse the coordinate of V1 ( {, , } => {, , } ).
- Conduct a "dot product" operation between and , and name the result .
- Conduct a "cross product" operation between and , unitize the resulting vector, and name it .
- Scale by to get .
Math-based Geometry Manipulation
Continue with the results obtained from the above tasks:
- Create a point
P0
at the origin, and move it with the 4 vectors (V1 to V4) to getP1
,P2
,P3
,P4
. - Create a curve passing through the four points in sequence:
P2
->P1
->P3
->P4
. - Connect the two end of the generated curve, and find the middle point between the two ends of the Curve
P-mid
. - Divide the curve into 9 segments, and find a point with parameter
t=0.3
on each of the segments. -- Name this point Series . - Move each of towards
P-mid
, with a distance of 3/4 of the distance between the corresponding point andP-mid
. -- Name it point Series .
By now, you should have obtained two sets of points in the 3D space.
List Basics (3pts)
Continue with the two points series and obtained above, and complete the following tasks:
- Create a line segment for each pair of points between and .
- Find the mid point of each line segments.
- For the list of these mid points, create a vector from each point to the next point in sequence (you can omit the last one). -- Now, you get 8 vectors.
- Similarly, omit the last line segment, and rotate the first 8 line segments around the 8 vectors by 0-180° increamentally (1st seg - 0°; 8th seg 180°).
- Loft the 8 rotated line segments into a surface.
If you complete everything correctly, the final result should be a spatially rotated strips.
Input File
The corresponding input files are provided on the MscLA server (as a .zip
file).
- Assignment_01.3dm
- Assignment_01.gh
Submission
Name the submission file(s) with the following format:
LastName_FirstName_TimeForCompletion_AS01.xxx
Please submit the corresponding .3dm
file (only if geometries are not interalized) and .gh
file to the submission folder submissionAS01
on the server:
\\nas22.ethz.ch\arch_lus_mscla_student\9_HS_24\02_MScLA-Semester-1\07_Digital-Design-Methods\Assignment\Submission_AS01
Please add a note to your
.gh
file (using thepanel
component) with the completion time of the assignment. This is important for setting the appropriate difficulty level for the future assignments.