Module 4 — Attractor Logic & Graph Mapper
Thời lượng: ~5 giờ · Độ khó: Trung bình–Nâng cao
Mục tiêu: Tạo thiết kế biến đổi liên tục theo quy luật không gian — từ point attractor đơn giản đến image-driven design.
4.1 — Point Attractor
Attractor là kỹ thuật điều khiển thuộc tính (kích thước, xoay, màu,...) của geometry dựa trên khoảng cách đến một điểm/đường/bề mặt.
Logic cơ bản
Điểm trung tâm lưới: gần attractor → panel lớn
xa attractor → panel nhỏ
Công thức:
1. Tính Distance từ mỗi điểm grid → attractor point
2. Remap distances về [0,1] hoặc [min_size, max_size]
3. Scale geometry bằng giá trị đó
Implementation
Grid Points (centers)
Attractor Point (từ Rhino hoặc slider)
Distance (Grid Centers, Attractor Point) → list of distances
Remap Numbers:
Source domain: {min_distance, max_distance}
Target domain: {max_scale, min_scale}
(đảo ngược: gần = lớn, xa = nhỏ)
Scale (Grid Geometry, Remap Values, Grid Centers)
→ Geometry lớn gần attractor, nhỏ dần ra xa
[Ảnh: Lưới 10×10 circles — lớn ở gần attractor point, nhỏ dần ra ngoài]
4.2 — Curve Attractor
Thay vì khoảng cách đến điểm, dùng khoảng cách đến đường:
Component: Curve Closest Point
Input: Curve (attractor curve) + Points (grid centers)
Output: Closest Points + Distances + Parameters
→ Thay Distance component bằng Curve Closest Point
→ Phần còn lại tương tự Point Attractor
Ứng dụng: Mặt đứng biến đổi theo đường contour địa hình, theo đường phố, theo đường biên công trình.
4.3 — Multi-Attractor
Kết hợp nhiều nguồn attractor:
Attractor 1 → Distances 1
Attractor 2 → Distances 2
Blend: Minimum (D1, D2) → dùng khoảng cách gần nhất từ bất kỳ attractor nào
Hoặc: Addition (D1 * weight1, D2 * weight2) → ảnh hưởng của cả 2
→ Remap → Scale
Tạo UI slider để điều chỉnh "sức mạnh" từng attractor:
Slider "Weight A" (0→1)
Slider "Weight B" (0→1)
Addition (D1 * WeightA, D2 * WeightB) / (WeightA + WeightB)
4.4 — Graph Mapper
Graph Mapper cho phép bạn tùy chỉnh hàm falloff bằng cách vẽ đồ thị thay vì viết công thức.
Component: Graph Mapper
Input: list of values (0→1)
Output: remapped values theo đồ thị bạn vẽ
Graphs có sẵn:
- Linear (giống Remap thẳng)
- Bezier (smooth curve)
- Sine (dao động)
- Parabola
- Custom (kéo control points)
Workflow kết hợp Attractor + Graph Mapper:
Distances → Normalize (0→1) → Graph Mapper → Scale values
↑
Vẽ đồ thị theo ý muốn
(vd: plateau ở giữa, steep edges)
[Ảnh: Graph Mapper với đường Bezier custom và kết quả trên facade grid]
4.5 — Attractor trên Mesh: Color + Scale Mapping
Mesh Centers (centroids of faces) → Distance → Remap
Colour RGB → tạo màu theo giá trị (vd: xanh = xa, đỏ = gần)
Custom Preview → hiển thị mesh với màu gradient
Đồng thời:
Scale mesh faces → kết hợp màu + kích thước → visualization mạnh
4.6 — Image Sampler
Dùng hình ảnh làm nguồn dữ liệu cho attractor:
Component: Image Sampler
Input: UV coordinates → sample màu từ ảnh
Output: Color (R,G,B,A) hoặc Brightness (0→1)
Workflow:
Grid Points (UV trên surface) → Image Sampler → Brightness values → Scale
→ Kích thước panel theo độ sáng/tối của ảnh
Ứng dụng:
- Mặt đứng mô tả portrait/landscape bằng panel kích thước khác nhau
- Perforation pattern từ logo
- Gradient pattern từ noise texture
[Ảnh: Logo được chuyển thành perforation pattern trên facade panel]
Bài tập Module 4 — Mặt Đứng Gradient Facade
Đề bài: Thiết kế facade văn phòng với lỗ thủng biến đổi gradient từ trung tâm ra rìa.
Yêu cầu:
- Facade surface (extrude đơn giản)
- Grid 15×20 panels
- Point Attractor tại tâm facade
- Panel size từ 0.8m (rìa) xuống 0.2m (tâm) — tạo hiệu ứng ngược (tâm mở nhiều nhất)
- Graph Mapper custom để tạo falloff không tuyến tính
- Thêm 1 attractor thứ 2 (point) tại góc facade → Multi-attractor blend
- Slider "Blend" điều chỉnh trọng số giữa 2 attractors
- Color Preview gradient: đỏ = solid nhiều, xanh = mở nhiều
[Ảnh: Facade với 2 attractors và slider Blend ở 0.0 / 0.5 / 1.0]
Liên kết kiến thức
Nền tảng cần nắm
Mở rộng từ
Chủ đề liên quan