ฉันจะคำนวณแรงที่กระทำโดยวัตถุ 2 มิติการพันลวดแบบตึงได้อย่างไร?


10

สมมติว่าฉันมีวิชาฟิสิกส์เบื้องต้นฉันจะเรียกว่า "สาย" ล้อมรอบด้วยสภาพแวดล้อมแบบ 2D (ดังที่อธิบายไว้ในคำถามนี้ )

นี่คือภาพประกอบของสิ่งที่อาจมีลักษณะ:

ลวดพันรอบวัตถุเกมแบบคงที่และแบบไดนามิก

ในภาพประกอบตัวอย่าง: ลวดถูกดึงขึ้น (ถือขึ้น) โดยลวดและกล่องจะดึงลวดลง วัตถุบนสปริงถูกดันลงโดยลวด แต่ก็ดันลวดขึ้นไปด้วย

ในขณะที่ฉันยังไม่ได้คิดว่าจะนำไปใช้อย่างไรสมมติว่าลวดจะเลื่อนไปตามจุดต่างๆที่พันไว้อย่างอิสระ

ในการจำลองฟิสิกส์ 2D (เช่น: อิงเฟรม) คุณจะคำนวณแรง (หรือแรงกระตุ้น) เพื่อนำไปใช้กับวัตถุที่ยึดติดหรือพันด้วยลวดได้อย่างไร


ตามที่ฉันได้กล่าวถึงในคำถามแรกของฉันฉันคิดว่าถ้าวัตถุที่ไม่คงที่เท่านั้น "ใน" ลวดคือมวลในตอนท้ายจากนั้นแรงจะเหมือนกับข้อต่อที่มีความยาวคงที่ระหว่างมวลและจุดก่อนหน้า บนลวด

คำตอบ:


9

กล่องดึงลวดจะใช้แรงดึงกับลวด ความตึงเครียดคือแรงวัดในนิวตัน หากเราใช้สมมติฐานที่ทำให้เข้าใจง่าย (ไม่มีแรงเสียดทานระหว่างลวดกับสภาพแวดล้อม) ความตึงเครียดจะเหมือนกันทุกจุดตามเส้นลวด

หากเราพิจารณาตัวอย่างของคุณว่าเป็นแบบคงที่ความตึงของเส้นลวดจะเป็นเพียงน้ำหนักของกล่อง:

T = m * g

โดยที่ m คือมวลของกล่องและ g คือความเร่งเนื่องจากแรงโน้มถ่วง (เช่น 9.8 m / s ^ 2) หมายเหตุนี่ใช้ได้ในกรณีแบบคงที่เท่านั้นดูด้านล่างสำหรับคำอธิบายวิธีการคำนวณในกรณีแบบไดนามิก

แรงที่แต่ละโค้งของเส้นลวดนั้นเป็นเพียงการประมาณความตึงไปยังทิศทางที่เกี่ยวข้อง ตัวอย่างเช่นแรงที่ปลายของวัตถุสปริงคือแรงตามแนวสัมผัสปกติ, ขนาด:

F = T * cos(angle between wire and contact normal)

ในกรณีนี้ทิศทางปกติของการติดต่อจะเป็นเส้นแบ่งระหว่างมุมลวด แรงที่จุดทำเครื่องหมายที่สองของคุณต่อสิ่งแวดล้อมนั้นไม่เกี่ยวข้องเนื่องจากไม่มีผลกระทบต่อความตึงเครียดหรือสิ่งอื่นใด

ในกรณีแบบไดนามิกความตึงเครียดเป็นเพียงแรง จำกัด ที่คุณใช้กับกล่องเพื่อยึดไว้กับลวด ดังนั้นหากเครื่องยนต์ฟิสิกส์นั้นมีแรงกระตุ้นความตึงเครียดจะเป็นเพียง:

T = impulse / timestep

สิ่งนี้นำไปสู่อัลกอริทึมทั่วไปสำหรับการพันลวดรอบสภาพแวดล้อมด้วย คุณสมบัติที่สำคัญคือความยาวทั้งหมดของเส้นลวด เฉพาะเซกเมนต์สุดท้ายเท่านั้นที่ต้องทำการจำลองเซกเมนต์ก่อนหน้านี้ทั้งหมดสามารถพิจารณาได้ว่าจะได้รับการแก้ไข ดังนั้นความยาวของเซกเมนต์สุดท้ายจึงเป็นที่รู้จักเพียงแค่ลบความยาวของเซกเมนต์ก่อนหน้านี้จากความยาวทั้งหมด จากนั้นส่วนสุดท้ายอาจเป็นข้อ จำกัด ของสปริงอย่างง่าย จากนั้นเพียงแค่แบ่งส่วนเมื่อใดก็ตามที่มันตัดกับสภาพแวดล้อมและลบแยกเมื่อโค้งตรง


ดังนั้น - เพื่ออธิบายให้ชัดเจน: ฉันจะมีมวลฟรีบนข้อต่อคงที่ซึ่งยึดติดกับโลกใน "โค้ง" ถัดไปในลวด ฉันพบว่าข้อต่อแรงกระตุ้นที่นำไปใช้กับกล่องแต่ละเฟรมและจากนั้นฉันจะได้รับความตึงเครียดในสาย?
Andrew Russell

นอกจากนี้ยัง - F = T * cos(angle between wire and spring axis)ฉันกำลังกังวลเกี่ยวกับ มุมไหนกันแน่ อีกอย่าง: ฉันไม่คิดว่า (ในการจำลอง) มีวิธีที่สมเหตุสมผลในการมีสาย "รู้" ว่ามีสปริงติดอยู่กับวัตถุนั้น
Andrew Russell

@Andrew - สำหรับจุดแรกของคุณใช่แรงที่ใช้กับกล่องโดยข้อต่อคือโดยความหมายเท่ากับความตึงเครียดในลวด สำหรับจุดที่สองของคุณคุณพูดถูกมันไม่ชัดเจนจริง ๆ แล้วมันคือมุมระหว่างเส้นลวดและจุดสัมผัสปกติ ฉันได้แก้ไขคำตอบเพื่อให้ชัดเจนยิ่งขึ้น
Niall

4

ฉันขอขอบคุณความคับข้องใจของคุณในหัวข้อที่อิงกับสายเหล่านี้มันเป็นปัญหาที่ยากที่จะแก้ไข เราไม่เคยมีการชนกันของข้อมูลอย่างสมบูรณ์แบบ แต่การจำลองแบบ จำกัด นั้นทำได้และตรงไปตรงมา

ข้อ จำกัด ของเส้นลวดนั้นเกือบจะเหมือนกับข้อ จำกัด ระยะทางปกติ แทนที่จะเป็นข้อ จำกัด สองจุดคุณมี n + 1 สำหรับเส้นลวดที่มี n เซ็กเมนต์หนึ่งจุดสำหรับแต่ละจุดยอด - ที่จุดสิ้นสุด Jacobian จะเหมือนกับข้อ จำกัด ระยะทาง (นั่นคือ d / | d | โดย d เป็นเวกเตอร์ ระหว่างจุด) และสำหรับโหนดภายใน Jacobian นั้นคล้ายกับ (a / | a | - b / | b |) โดยที่ a และ b เป็นเวกเตอร์จากโหนดไปยังโหนดที่อยู่ติดกัน (ขออภัยเป็นเวลาสองสามปีที่ผ่านมาตั้งแต่ฉันได้สัมผัสนี้ ... )

คุณไม่สามารถปลอมมันได้ a-la "เฉพาะเซ็กเมนต์สุดท้ายที่เป็นไดนามิก" เนื่องจากในตัวอย่างของคุณวัตถุสามารถโต้ตอบกับเซกเมนต์อื่น แต่คุณต้องจำลองมวลที่ปลายเชือก - ภายในเชือกสามารถ ไร้กำลัง แรงกระตุ้นข้อ จำกัด ที่คำนวณในแต่ละโหนดจะต้องนำไปใช้กับวัตถุที่เกิดการชนกันที่โหนดนั้น

นี่คือเอกสารที่เกี่ยวข้อง:

สามคนแรกนั้นค่อนข้างใหม่และน่าจะช่วยได้มาก หน้า 75 ของกระดาษด้านล่างอธิบายถึงข้อ จำกัด "multibar" ซึ่งเป็นสายหลัก

โชคดี :)

raigan


0

แนวคิดพื้นฐานคือความยาวของเชือกยังคงเหมือนเดิม หากมีการผลักดันขึ้นคุณจะต้องสร้าง "จุดแยก" ที่นั่น จากนั้นเชือกจะพิจารณาว่าด้านใดติดอยู่เพราะไม่สามารถ "เติบโต" ในทิศทางนั้น เพราะมันติดอยู่กับอะไรบางอย่างทางด้านขวาชิ้นส่วนของเชือกด้านซ้ายจะสั้นลงและชิ้นส่วนระหว่างจุดแยกและจุดที่แนบจะยาวขึ้นเล็กน้อย จากนั้นอย่างที่เนียลพูดคำนวณความตึงของเส้นลวด ฉันจะทำอย่างไรเพื่อคำนวณความตึงของเชือกแต่ละชิ้น จากนั้นคุณสามารถใช้สิ่งนี้เพื่อกำหนดแรงที่เกี่ยวข้อง

หวังว่านี่จะช่วยได้


ไม่ขอโทษจริงๆ
Andrew Russell
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.