Lesson 12 — Constraints: Cloth & Rope

Điểm khối lượng chạy Verlet, rồi bị ép về đúng khoảng cách nghỉ (distance constraint), lặp lại nhiều lần mỗi frame (relaxation). Ba mô phỏng thời gian thực: vải kéo/xé bằng chuột, dây đung đưa, và demo iteration thấy độ cứng.

1. Vải (cloth) — kéo & xé bằng chuột

Lưới điểm ghim ở mép trên. Kéo chuột (hoặc chạm) để nắm và di chuyển điểm gần nhất. Bật chế độ cắt rồi rê chuột để vải. Giảm iteration để thấy vải co giãn nhão; tăng gió để thấy phấp phới.

điểm ghim (pinned) điểm tự do ràng buộc
Điểm: — · Ràng buộc: — · Iteration: 8

2. Dây / chuỗi (rope) — đung đưa theo chuột & trọng lực

Chuỗi điểm nối tiếp, ghim đầu trên cùng. Kéo chuột để giật đầu dưới; thả ra dây đung đưa theo trọng lực. Bật ghim đầu để thấy hiệu ứng "quên pin → rơi hết".

Đốt: 16 · Ghim đầu: BẬT

3. Iteration demo — cùng một dây, đổi độ cứng

Ba dây giống hệt nhau, chỉ khác số iteration. Cùng kéo căng (đầu dưới gắn vào điểm kéo ngang). Dây ít iteration giãn nhão như cao su; nhiều iteration thì cứng, giữ gần đúng độ dài nghỉ. Kéo slider để thấy dây giữa biến đổi.

Càng nhiều iteration → dây càng gần độ dài nghỉ (ít giãn).

4. Walk-through: hội tụ của chuỗi 3 điểm

Bảng số từ §3.3 README — ép chuỗi A–B–C (rest length 10, A ghim), |AB| hội tụ về 10:

Iteration|AB| sau lượtSai số so với L=10

Mỗi iteration đưa |AB| gần 10 hơn — đây là lý do iteration nhiều = dây cứng.