Assignment 01

Please add a note to your .gh file with the completion time of the assignment. -- This is important for setting the appropriate difficulty level for the future assignments.
NameDate
Release2023-09-22
Submission2023-09-28 23:59
Submission(s) beyond the deadline will not be counted towards your final grade.

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

  1. Try to discover similar commands by typing the keywords (double-click and type).
  2. 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:

  1. Input: Use a BREP component to register the rhino object (letter T);
  2. 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 this panel).

NON-UNIFORM SCALE

  1. Input: Use a brep component to register the rhino object (a box);
  2. 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

  1. Input: Use a curve component to register the rhino object (a box);
  2. Process 1: Offset the curve in both sides with a distance of 1m;
  3. 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

  1. Divide the circle with 12 equally distanced points.
  2. Using the point at the bottom of the triangle as a reference point, move the triangle object to the 12 points you get.
  3. (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.
  4. (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 the 3, 6, 9, and 12 hours.

Math Basics (4pts)

Arithmetic Operation

Please find the correct components to complete the following tasks:

  1. 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).
  2. Divide the given number by half.
  3. Compose a vector from and the results of the above two tasks as , , components.
  4. Compose another vector by reverse the coordinate of V1 ( {, , } => {, , } ).
  5. Conduct a "dot product" operation between and , and name the result .
  6. Conduct a "cross product" operation between and , unitize the resulting vector, and name it .
  7. Scale by to get .

Math-based Geometry Manipulation

Continue with the results obtained from the above tasks:

  1. Create a point P0 at the origin, and move it with the 4 vectors (V1 to V4) to get P1, P2, P3, P4.
  2. Create a curve passing through the four points in sequence: P2 -> P1 -> P3 -> P4.
  3. Connect the two end of the generated curve, and find the middle point between the two ends of the Curve P-mid.
  4. Divide the curve into 9 segments, and find a point with parameter t=0.3 on each of the segments. -- Name this point Series .
  5. Move each of towards P-mid, with a distance of 3/4 of the distance between the corresponding point and P-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:

  1. Create a line segment for each pair of points between and .
  2. Find the mid point of each line segments.
  3. 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.
  4. 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°).
  5. 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
Please copy the files to your local computer before editing.

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 the panel component) with the completion time of the assignment. This is important for setting the appropriate difficulty level for the future assignments.


ETH LogoDArch LogoDesign++ LogoBA LogoLVML Logo
© 2023 Digital Design Methods™