กลับไปหน้าบทความ

อ่าน 4 นาที

การประมาณค่าเชิงเส้นทรงกลม

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

การประมาณค่าเชิงเส้นทรงกลม

ในทางเรขาคณิตการประมาณค่าเชิงเส้นทรงกลมซึ่งโดยทั่วไปย่อว่าslerpคือฟังก์ชันที่ประมาณค่าระหว่างสองจุดบนทรงกลมโดยที่ระยะทางทรงกลมจากจุดเริ่มต้นจะแปรผันอย่างสม่ำเสมอตามพารามิเตอร์ การประมาณค่า ในกราฟิกคอมพิวเตอร์ ฟังก์ชันนี้ได้รับความนิยมจาก Ken Shoemake สำหรับการสร้างภาพเคลื่อนไหวการหมุนสามมิติซึ่งแสดงเป็นควอเทอร์เนียนบนทรงกลม 3 มิติแบบ นามธรรม [ 1 ]เมื่อพารามิเตอร์การประมาณค่าแทนเวลาการประมาณค่าเชิงเส้นทรงกลมจะส่งผลให้เกิดการเคลื่อนที่ด้วยความเร็วคงที่ตาม ส่วนโค้ง วงกลมใหญ่ระหว่างจุดปลาย หรือการเปลี่ยนแปลงที่ราบเรียบและสม่ำเสมอระหว่างการหมุนสามมิติสองแบบ

สเลิร์ปเรขาคณิต

Slerp มีสูตรทางเรขาคณิตที่ไม่ขึ้นอยู่กับควอเทอร์เนียน และไม่ขึ้นอยู่กับมิติของปริภูมิที่ส่วนโค้งฝังอยู่ สูตรนี้เป็นผลรวมถ่วงน้ำหนักแบบสมมาตรซึ่งคิดค้นโดย Glenn Davis โดยมีพื้นฐานมาจากข้อเท็จจริงที่ว่าจุดใดๆ บนเส้นโค้งจะต้องเป็นผลรวมเชิงเส้นของปลายทั้งสองข้าง ให้p₀และp₁ เป็นจุดแรกและจุดสุดท้ายของส่วนโค้ง และให้tเป็นพารามิเตอร์0 ≤ t ≤ 1คำนวณ Ω เป็นมุมที่รองรับส่วนโค้ง โดยที่cos Ω = p₀ p₁ซึ่งเป็นผลคูณดอทnมิติของเวกเตอร์หน่วยจากจุดกำเนิดไปยังปลายทั้งสองข้าง สูตรทางเรขาคณิตจึง เป็นดังนี้

ความสมมาตรอยู่ที่ข้อเท็จจริงที่ว่าslerp( p 0 , p 1 ; t ) = slerp( p 1 , p 0 ; 1 − t )เมื่อΩ → 0 ลิมิต สูตรนี้จะลดลงเหลือสูตรสมมาตรที่สอดคล้องกันสำหรับการประมาณค่าเชิงเส้น

เส้นทางสเลอร์ป (slerp path) นั้น แท้จริงแล้วคือเส้นทางตามส่วนของเส้นตรงในระนาบในเรขาคณิตทรงกลม ส่วนวงกลมใหญ่ (great circle) ก็คือเส้นทางจีโอเดสิกทรงกลม (spherical geodesic )

เวกเตอร์เฉียงจะถูกปรับแก้ให้เข้ากับตัวประกอบสเลอร์ป

สูตรสเลิร์ปทั่วไปนั้นคุ้นเคยมากกว่ากรณีที่เวกเตอร์ปลายตั้งฉากกัน ซึ่งในกรณีนี้สูตรจะเป็นp 0 cos θ + p 1 sin θโดยกำหนดให้θ = t π /2และใช้เอกลักษณ์ตรีโกณมิติcos θ = sin( π /2 − θ )จะได้สูตรสเลิร์ป ตัวประกอบ1/sin Ωในสูตรทั่วไปเป็นค่ามาตรฐาน เนื่องจากเวกเตอร์p 1ที่ทำมุม Ω กับp 0จะฉายลงบนเส้นตั้งฉาก ⊥ p 0ด้วยความยาวเพียงsin Ωเท่านั้น

ในบางกรณีพิเศษของ slerp จะมีการคำนวณที่มีประสิทธิภาพมากกว่า เมื่อต้องการวาดส่วนโค้งวงกลมลงในภาพแรสเตอร์ วิธีที่นิยมคือการใช้อัลกอริทึมวงกลมของBresenham ในรูปแบบต่างๆ การประเมินค่าที่ค่าพารามิเตอร์พิเศษ 0 และ 1 จะได้p 0และp 1ตามลำดับ และการแบ่งครึ่ง การประเมินค่าที่  1/2ลดรูปเป็น( p 0 + p 1 )/2ในรูปแบบปกติ กรณีพิเศษอีกกรณีหนึ่งที่พบได้ทั่วไปในแอนิเมชัน คือการประเมินค่าโดยกำหนดจุดสิ้นสุดคงที่และขั้นตอนพารามิเตอร์ที่เท่ากัน ถ้าp k −1และp kเป็นค่าสองค่าที่ต่อเนื่องกัน และถ้าc เป็นสองเท่าของ ผล คูณดอทของค่าทั้งสอง (คงที่สำหรับทุกขั้นตอน) แล้วค่าถัดไปp k +1จะเป็นค่าสะท้อนp k +1 = cp kp k −1

ควอเทอร์เนียนสเลิร์ป

เมื่อใช้ slerp กับควอเทอร์เนียน หน่วย เส้นทางควอเทอร์เนียนจะแมปไปยังเส้นทางผ่านการหมุน 3 มิติในลักษณะมาตรฐานผลที่ได้คือการหมุนด้วยความเร็วเชิงมุม สม่ำเสมอ รอบแกนหมุน คงที่ เมื่อจุดเริ่มต้นเป็นควอเทอร์เนียนเอกลักษณ์ slerp จะให้ส่วนหนึ่งของกลุ่มย่อยหนึ่งพารามิเตอร์ของทั้งกลุ่ม Lieของการหมุน 3 มิติSO(3)และกลุ่มการครอบคลุมสากลของควอเทอร์เนียนหน่วยS 3 slerp ให้เส้นทางที่ตรงที่สุดและสั้นที่สุดระหว่างจุดปลายควอเทอร์เนียน และแมปไปยังการหมุนผ่านมุม 2Ω อย่างไรก็ตาม เนื่องจากกลุ่มการครอบคลุมเป็นแบบคู่ ( qและ −q แมปไปยังการหมุนเดียวกัน) เส้นทางการหมุนอาจหมุนไปใน "เส้นทางสั้น" (น้อยกว่า 180°) หรือ "เส้นทางยาว" (มากกว่า 180°) สามารถป้องกันเส้นทางที่ยาวเกินไปได้โดยการกลับเครื่องหมายที่ปลายด้านหนึ่ง หากผลคูณดอทcos Ωมีค่าเป็นลบ ซึ่งจะทำให้มั่นใจได้ว่า−90° ≤ Ω ≤ 90 °

นอกจากนี้ Slerp ยังมีนิพจน์ในรูปของพีชคณิตควอเทอร์เนียน ซึ่งทั้งหมดใช้การยก กำลัง กำลัง จริงของควอเทอร์เนียนถูกกำหนดในรูปของฟังก์ชันเลขชี้กำลัง ควอเทอร์เนียน ซึ่งเขียนว่าe qและกำหนดโดยอนุกรม กำลัง ที่คุ้นเคยจากแคลคูลัส การวิเคราะห์เชิงซ้อน และพีชคณิตเมทริก ซ์ :

เมื่อเขียน ควอเทอร์เนียนหน่วยqในรูปแบบเวกเตอร์cos Ω + v sin Ωโดยที่vเป็นเวกเตอร์ 3 มิติหน่วย และสังเกตว่ากำลังสองของควอเทอร์เนียนเท่ากับ −1 (ซึ่งหมายถึงสูตรของออยเลอร์ในรูปแบบควอ เทอร์เนียน ) เราจะได้e v Ω = qและq t = cos t Ω + v sin t Ωการระบุที่น่าสนใจคือq = q 1 q 0 −1ดังนั้นส่วนจริงของqคือcos Ωซึ่งเหมือนกับผลคูณดอทเชิงเรขาคณิตที่ใช้ข้างต้น ต่อไปนี้คือนิพจน์ควอเทอร์เนียนที่เทียบเท่ากันสี่แบบสำหรับ slerp

อนุพันธ์ของslerp( q 0 , q 1 ; t )เทียบกับt โดย สมมติว่าปลายทั้งสองข้างคงที่ คือ log( q 1 q 0 −1 ) คูณด้วยค่าฟังก์ชัน โดยที่ลอการิทึมธรรมชาติของ ควอเทอร์เนียน ในกรณีนี้จะให้ค่าครึ่งหนึ่งของ เวกเตอร์ ความเร็วเชิงมุม 3 มิติ เวกเตอร์สัมผัสเริ่มต้นจะถูกเคลื่อนย้ายขนานไปยังเวกเตอร์สัมผัสแต่ละอันตามเส้นโค้ง ดังนั้นเส้นโค้งนี้จึงเป็นเส้นโค้งจีโอเดสิกอย่างแท้จริง

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

เส้นโค้งควอ เทอร์เนียน (Quaternion slerps) มักใช้ในการสร้างเส้นโค้งแอนิเมชันที่เรียบเนียน โดยเลียนแบบการสร้างแบบแอฟฟิน เช่น อัลกอริทึมของเดอ กัสเติลเจา (de Casteljau algorithm)สำหรับเส้นโค้งเบซิเยร์ (Bézier curves ) เนื่องจากทรงกลมไม่ใช่ปริภูมิแอฟฟินคุณสมบัติที่คุ้นเคยของการสร้างแบบแอฟฟินอาจใช้ไม่ได้ผล แม้ว่าเส้นโค้งที่สร้างขึ้นอาจจะน่าพอใจโดยรวมก็ตาม ตัวอย่างเช่น อัลกอริทึมของเดอ กัสเติลเจา อาจใช้ในการแบ่งเส้นโค้งในปริภูมิแอฟฟิน แต่วิธีนี้ใช้ไม่ได้กับทรงกลม

slerp สองค่าสามารถขยายเพื่อแทรกระหว่างควอเทอร์เนียนหน่วยจำนวนมากได้[ 2 ]แต่การขยายนี้ทำให้สูญเสียเวลาดำเนินการคงที่ของอัลกอริธึม slerp

ดูเพิ่มเติม

  • ชูเมค, เคน. "การสร้างภาพเคลื่อนไหวการหมุนด้วยเส้นโค้งควอเทอร์เนียน" (PDF) . SIGGRAPH 1985.
  • Erik B., Dam; Martin, Koch; Lillholm, Martin (17 กรกฎาคม 1998). "Quaternions, Interpolation and Animation" (PDF) . มหาวิทยาลัยโคเปนเฮเกน. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 30 สิงหาคม 2017
  • โบลว์, โจนาธาน (26 กุมภาพันธ์ 2547). "เข้าใจ Slerp แล้วจึงไม่ใช้มัน" . เก็บถาวรจากต้นฉบับเมื่อ 25 สิงหาคม 2560
  • มาร์ติน, ไบรอัน (23 มิถุนายน 1999). "ไบรอัน มาร์ติน กับแอนิเมชั่นควอเทอร์เนียน" . เก็บถาวรจากต้นฉบับเมื่อ 24 มีนาคม 2016.
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Spherical_linear_interpolation&oldid=1340311860 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การประมาณค่าเชิงเส้นทรงกลม

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

สเลิร์ปเรขาคณิต

Slerp มีสูตรทางเรขาคณิตที่ไม่ขึ้นอยู่กับควอเทอร์เนียน และไม่ขึ้นอยู่กับมิติของปริภูมิที่ส่วนโค้งฝังอยู่ สูตรนี้เป็นผลรวมถ่วงน้ำหนักแบบสมมาตรซึ่งคิดค้นโดย Glenn Davis โดยมีพื้นฐานมาจากข้อเท็จจริงที่ว่าจุดใดๆ บนเส้นโค้งจะต้องเป็นผล รวม เชิงเส้น...

ควอเทอร์เนียนสเลิร์ป

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

ดูเพิ่มเติม

ควอเทอร์เนียนและการหมุนเชิงพื้นที่ ค่าเฉลี่ยทรงกลม (สถิติ)