Module 6 — Kangaroo Physics
Thời lượng: ~5 giờ · Độ khó: Nâng cao
Mục tiêu: Sử dụng Kangaroo 2 để tìm hình dạng qua mô phỏng vật lý — từ hanging chain đến tensile surface và shell optimization.
6.1 — Kangaroo 2: Tư duy Goal-based
Kangaroo 2 không "tính" hình dạng theo công thức mà tìm trạng thái cân bằng bằng cách giải quyết xung đột giữa các Goals (mục tiêu ràng buộc).
Goals = danh sách yêu cầu (spring, anchor, plastic, length, ...)
Solver = tìm trạng thái thoả mãn tối đa tất cả Goals
Workflow cơ bản:
1. Tạo geometry (mesh hoặc curves)
2. Định nghĩa Goals
3. Đưa Goals vào Solver
4. Solver chạy → kết quả
Solver components (Kangaroo 2)
BouncySolver / Zombie Solver
Input: Goals (list)
Output: Geometry đã solve
Khác nhau:
BouncySolver → interactive, chạy liên tục, có thể thấy animation
Zombie Solver → runs to convergence silently (thường dùng cho final output)
6.2 — Hanging Chain (Chuỗi Treo)
Mô phỏng hình dạng catenary — nền tảng cho vòm nén (compressive arch).
Setup:
1. Polyline (nhiều điểm nối tiếp)
2. Anchor Goals: 2 điểm đầu cuối cố định
Component: Anchor
Input: Points + Strength (cao = cứng, không di chuyển)
3. Spring Goals: tất cả các đoạn line của chuỗi
Component: SpringFromLine
Input: Lines + Rest Length + Stiffness
4. Load Goals: trọng lực
Component: Load (direction: -Z, strength: 9.81 hoặc tùy chỉnh)
5. Solver → catenary shape
Kết quả:
Lật ngược (flip Z) → catenary → compressive arch
[Ảnh: Hanging chain mô phỏng → flip → arch — so sánh với catenary lý thuyết]
6.3 — Tensile Surface
Mô phỏng màng căng giống mái PTFE hay ETFE.
Setup:
1. Flat quad mesh (grid)
2. Anchor Goals: các điểm biên cần cố định (mast positions)
3. Edge Length Goals (Spring): các edges của mesh
Component: EdgeLengths
Input: Mesh + Rest Length Factor (< 1 = căng, muốn ngắn lại)
4. Strength của Spring = tension
5. Solver → membrane shape
Điều chỉnh:
- Rest Length Factor nhỏ hơn → căng hơn, kéo lên nhiều hơn
- Thêm Pressure Goal → inflate (phồng lên)
- Thêm Anchor cho mast tips → saddle surface
Đọc kết quả:
Mesh Edges Length → kiểm tra distribution
Area Goal → giữ diện tích tổng (prestress simulation)
6.4 — Shell Optimization
Tối ưu hình dạng vỏ mỏng để chịu lực tốt hơn (giảm bending, tăng compression).
Mục tiêu: shell hình dạng "funicular" → chỉ chịu compression thuần túy
Setup:
1. Mesh shell
2. ForceDensityMethod Goal
3. Anchor các điểm tựa
4. Load (gravity + live load)
5. Solver → shell tối ưu hóa
So sánh:
Flat slab → nhiều bending → không hiệu quả
Shell tối ưu → gần như thuần compression → hiệu quả hơn nhiều
6.5 — Constraints (Ràng buộc hình học)
SphereCollide → các điểm không được chồng lên nhau
PlaneAnchor → điểm phải nằm trên plane
OnSurface → điểm phải nằm trên surface
Angle → góc giữa 2 đường phải bằng một giá trị
LengthLine → độ dài line cố định (rigid member)
Rod → tương tự rigid member cho cấu trúc
Bài tập Module 6 — Tensile Pavilion
Đề bài: Thiết kế mái che tensile với 4 cột mast.
Input:
- 4 mast positions (có thể thay đổi bằng slider)
- 4 anchor points tại mặt đất (biên của membrane)
- Mesh resolution (U×V)
Goals:
1. Anchor: 4 mast tips + biên membrane
2. EdgeLengths: toàn bộ mesh edges (Rest Length Factor = 0.9)
3. Load: gravity (nhẹ)
Yêu cầu output:
1. Tensile membrane shape
2. Thay đổi mast height bằng slider → membrane thay đổi realtime
3. Vẽ edge length distribution bằng màu (Custom Preview)
4. Tính tổng surface area sau khi solve
Mở rộng (nếu có thời gian):
- Thêm 1 mast ở tâm (lifted) → saddle form
- So sánh area trước và sau solve
[Ảnh: 4-mast tensile pavilion — membrane hình saddle — mast height slider thay đổi form]
Liên kết kiến thức
Nền tảng cần nắm
Chủ đề liên quan