ฉันจะคำนวณการครอบคลุมของเส้นโค้งวิเคราะห์ที่ทับซ้อนกันได้อย่างแม่นยำได้อย่างไร


10

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

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

คำตอบ:


10

ไม่มีวิธีที่ดีในการทำสิ่งนี้อย่างมีประสิทธิภาพสำหรับการวิเคราะห์ทุกมุม เครื่องเรนเดอร์ 2D เชิงพาณิชย์ส่วนใหญ่หรือทั้งหมดที่พยายามทำการคำนวณการครอบคลุมการวิเคราะห์ทำให้เกิดข้อผิดพลาดที่คาดเดาได้ว่าวิธีการสุ่มตัวอย่างแบบมัลติไม่มี

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

ภาพ

Image 1 : เอ็นจิ้นการเรนเดอร์สร้างความสับสนให้กับการครอบคลุมและสร้างโครงร่างสีขาวบาง ๆ ที่ไม่ควรมีการจัดวาง

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

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

วิธีการวิเคราะห์

ฉากวิเคราะห์

ภาพที่ 2 : สมมติว่าคุณมีฉากนี้แล้วดูระเบิดทางด้านขวา

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

สิ่งที่คุณต้องทำคือแยกฉากออกเพื่อให้แต่ละรูปร่างกำจัดสิ่งที่อยู่ใต้ภาพ:

ป้อนคำอธิบายรูปภาพที่นี่

ภาพที่ 3 : คุณจำเป็นต้องตัดพื้นผิวพื้นฐาน

ทีนี้ถ้าทุกอย่างมันทึบ เพียงคำนวณพื้นที่ของแต่ละชิ้นแล้วคูณด้วยสีและรวมเข้าด้วยกัน ตอนนี้คุณสามารถใช้สิ่งที่ต้องการนี้

ทั้งหมดนี้พังถ้ารูปร่างของคุณไม่ทึบแน่นอน แต่ก็สามารถทำได้ในบางระดับ

โปรดจำไว้ว่า:

  • การคำนวณ AA จำเป็นต้องทำในพื้นที่สีเชิงเส้นและแปลงกลับเป็นพื้นที่ใช้งาน

บอกว่าเราไม่สนใจประสิทธิภาพมากนัก เราจะไปเกี่ยวกับการคำนวณความครอบคลุมสำหรับการดำเนินการบูลีนกับรูปร่างได้อย่างไร เป็นไปได้โดยทั่วไปหรือเฉพาะรูปร่างที่เฉพาะเจาะจง?
John Calsbeek

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