Jinzhao Wang

  • Model screenshots
image
image
  • Original images
image
image

🌈 Part 1: Arc-Shaped Wall with Image-Based Color Mapping

🎯 Design Approach

  1. Arc Geometry Construction
  2. I created a curved wall surface using an arc defined by its start point, end point, radius, and center. The arc lies on the XY plane and is extruded vertically to define the wall surface.

  3. Panelization Without PanelQuad Node
  4. Unfortunately, I couldn't find the Lunchbox Panel.PanelQuad node in my Dynamo setup.

    πŸ”§ As a workaround, I used a Rectangular Grid of points with the PointAtParameter and Quad.ByPoints nodesβ€”an approach I had success with in earlier assignments.

  5. Adaptive Panel Logic
    • For Part 1, since the panels are intended to be square, I used the vertical panel count as an input slider and calculated the horizontal count based on arc length to maintain square proportions.
    • The adaptive panels (e.g., Rect Seamless Panel-4pt) were placed using the generated quads, enabling modular geometry generation in Revit.
  6. Color Mapping from Image
    • I imported an image file and used it as a data sampler.
    • The same U and V values used for panel generation were reused to ensure a 1-to-1 mapping between image pixels and panels.
    • The color values were assigned to the panels using Dynamo’s color manipulation tools.

πŸ›  Parameters Used

Parameter
Description
πŸŽ› Start Angle
Controls the arc's starting direction
🎚 End Angle
Controls the arc’s end sweep
πŸŒ€ Radius
Defines arc curvature
πŸ“ Vertical Panels
Number of vertical panel rows
πŸ” Flip Options
Enables mirrored or flipped geometries

🌊 Part 2: Serpentine Wall with Image-Based Height Mapping

🎯 Design Approach

  1. Waveform Curve Generation
    1. A serpentine (S-shaped) base curve was created by modifying a straight line with a sine function, controlled via sliders for:

    2. Amplitude
    3. Number of waves
    4. Total length
  2. Wall Surface Extrusion
  3. The base sine curve was extruded in the Z-direction to generate the full 3D wall form. This step follows the same logic as Part 1 but uses different base geometry.

  4. Panelization with Brick-Like Modules
    1. Panels were designed to mimic brick dimensions (4” x 8”). The total wall length and height were used to compute the number of panels in U and V directions:

    2. U panels = wall length / 8"
    3. V panels = wall height / 4"
  5. Sampling Image Data for Height
    • I imported a new image file and sampled brightness values using the same U and V grid.
    • Brightness was translated to height values using Color.Brightness, remapped from 0 to 1 into 4” to 36” using a linear interpolation function.
  6. Height-Controlled Panel Generation
  7. The sampled and remapped height data was used to extrude adaptive panels with varying thicknessesβ€”creating a dynamic visual texture.

πŸ›  Parameters Used

Parameter
Description
πŸ“ Wall Length
Total base length of the sine wave
πŸŒ€ Amplitude
Vertical displacement of wave
πŸ”„ Number of Curves
Number of sine wave repetitions
πŸ“ Panel Width
Fixed at 8 inches
πŸ“ Panel Height
Fixed at 4 inches
πŸ” Flip Options
Enables mirrored geometry

πŸ’‘ Reflections & Challenges

  • πŸ” PanelQuad Node Limitation
  • A major challenge was the absence of the PanelQuad node, requiring a manual workaround using grid points and quads. This added complexity but deepened my understanding of panel logic in Dynamo.

  • 🎨 Creative Control with Images
  • Using image data for color and height created highly customizable and visually engaging panel systems. The ability to flex slider parameters dynamically provided a great opportunity to explore form and pattern.

  • πŸ§ͺ Parameter Flexibility
  • I thoroughly tested the flexibility of the design by adjusting the input sliders across multiple scenarios, ensuring consistent performance across wall configurations.