Skip to main content
Cập nhật lần cuối: 14/05/2026

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
Hình minh họa

[Ả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
Hình minh họa

[Ả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