คำถามติดแท็ก splines

1
กำหนดความยาวส่วนโค้งของเส้นโค้ง Catmull-Rom เพื่อเคลื่อนที่ด้วยความเร็วคงที่
ฉันมีเส้นทางที่กำหนดโดยการต่อข้อมูลของ Catmull-Rom splines ฉันใช้วิธีการคงที่ Vector2.CatmullRom ใน XNA ที่ช่วยให้การแก้ไขระหว่างจุดที่มีค่าไปจาก 0 ถึง 1 ไม่ใช่เส้นโค้งทุกเส้นในเส้นทางนี้ที่มีความยาวเท่ากัน สิ่งนี้ทำให้เกิดความแตกต่างของความเร็วถ้าฉันปล่อยให้น้ำหนักเคลื่อนที่ด้วยความเร็วคงที่สำหรับทุกเส้นโค้งในขณะที่เดินไปตามเส้นทาง ฉันสามารถแก้ไขได้โดยให้ความเร็วของน้ำหนักขึ้นอยู่กับความยาวของเส้นโค้ง ฉันจะกำหนดความยาวของเส้นโค้งดังกล่าวได้อย่างไร ฉันควรจะประมาณโดยตัดเส้นโค้งเป็น 10 เส้นตรงและรวมความยาวของพวกเขา? ฉันใช้สิ่งนี้สำหรับการทำแผนที่พื้นผิวแบบไดนามิกในตาข่ายที่สร้างขึ้นที่กำหนดโดยเส้นโค้ง

5
เราจะกำหนดความยาวของเส้นทางได้อย่างไร?
ฉันมีเกมที่ต้องการให้ผู้เล่นแต่ละคนเคลื่อนที่ตามเส้นทางที่ระบุ ฉันวาดเส้นทางโดยใช้เส้นโค้งเบซิเยร์ ฉันจะกำหนดความยาวรวมของจริง (ไม่ใช่แบบเส้นตรง) ของเส้นทางและระยะทางที่ผู้เล่นแต่ละคนทำไว้ได้อย่างไร (ระยะห่างระหว่างจุดเริ่มต้นและจุดที่ระบุบนเส้นทาง) UPDATE: พา ธ ถูกแสดงในระนาบคาร์ทีเซียน (2D)

2
จะหลีกเลี่ยงการตัดกันตนเองอย่างไรเมื่อใช้การลากเส้นกับเส้นโค้ง
ฉันมีวัตถุ Spline2D หลายตัวในรหัสของฉันซึ่งแต่ละชิ้นนั้นมีตำแหน่ง, ความเร็วและวิธีการเร่งความเร็วที่ส่งคืนเวกเตอร์ของปริมาณที่ระบุในเวลาใดเวลาหนึ่ง ฉันใช้เวกเตอร์เหล่านี้เพื่อสร้างรูปทรงเรขาคณิตเพื่อสร้างการไล่ระดับสีสำหรับเส้นโค้ง แต่ฉันมีปัญหาเกี่ยวกับการตัดกันด้วยตัวเองที่โค้งชัน ตัวอย่างเช่นนี่คือเส้นโค้งหนึ่งที่ฉันมีสิ่งนี้เกิดขึ้น: โครงร่าง: http://twitpic.com/2zplw1/full Filled: http://twitpic.com/2zpmnt/full อย่างที่คุณเห็นในส่วนโค้งที่สองส่วนด้านในตัดกันซึ่งเป็นสาเหตุของสิ่งประดิษฐ์ที่น่าเกลียด มีอัลกอริธึมที่ดี / วิธีการในการเส้นโค้งจังหวะโดยไม่ทำให้เกิดการแยกตนเองหรือไม่ แก้ไข : ตัวอย่างสุดขีดเพิ่มเติมรวมถึงการจำลองในสิ่งที่ฉันต้องการบรรลุ: Wireframe: http://twitpic.com/2ztwzi/full Filled: http://twitpic.com/2ztwkt/full ผลในอุดมคติ (จำลอง): http://twitpic.com/2ztxa8/full

3
อะไรคือเส้นโค้งที่พบได้บ่อยที่สุดในการพัฒนาเกม
แสดงรายการ splines ทั่วไปที่พบในการพัฒนาเกมจำนวนจุดที่วิธีการจำเป็นต้องสอดแทรกเส้นโค้งและวิธีสร้างชนิดข้อมูลที่ช่วยให้คุณได้รับการแก้ไขจุดโค้ง ตัวอย่าง: เส้นโค้ง Bezier, B-Splines, Cubic Splines ฯลฯ PS: ฉันวางสิ่งนี้เป็นวิกิชุมชนเพื่อให้เราสามารถแสดงรายการการแก้ไขอิสระทุกชนิด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.