Lab
Cloth & Rope Verlet physics
Canvas 2D · Verlet integration · distance constraints

ผ้ากับเชือกเสมือนจริง

ฟิสิกส์ผ้าด้วยเทคนิค Verlet integration — แทนที่จะเก็บความเร็ว เราเก็บแค่ตำแหน่ง "ตอนนี้" กับ "เฟรมก่อน" ความเร็วคือผลต่างของสองค่านี้เอง. จุดทุกจุดเชื่อมกันด้วย ข้อจำกัดระยะ (constraint) ที่ดึงให้ยาวคงที่ ทำซ้ำหลายรอบต่อเฟรมจนผ้าทรงตัว. ลากเพื่อจับผ้า สลับเป็น ตัด แล้วลากผ่านเส้นเพื่อฉีก

fps ·
รูปทรง
ตัวชี้
การกระทำ

เส้นเปลี่ยนสีตามแรงดึง (เขียว = ผ่อน, แดง = ตึง) · จุดเขียว = หมุดที่ปักไว้ · ตั้ง ลดการเคลื่อนไหว = เริ่มแบบหยุดนิ่ง

วิธีทำงาน: แต่ละจุดเก็บ (x,y) และ (ox,oy) ของเฟรมก่อน. อัปเดตตำแหน่ง: x += (x-ox) + แรง — ผลต่าง x-ox คือความเร็วโดยปริยาย (Verlet). จากนั้นวน satisfy constraints หลายรอบ: ดึงคู่จุดให้กลับมาห่างเท่าระยะตั้งต้น ยิ่งวนมาก ผ้ายิ่งแข็ง. การ "ตัด" ก็แค่ปิดข้อจำกัดเส้นที่ตัวชี้ลากผ่าน (ทดสอบ segment intersection).