กุญแจสำคัญในการทำให้รูปแบบที่แตกต่างกันแน่นอนทำงานในรูปทรงเรขาคณิตที่ผิดปกติคือการมีเมทริกซ์ 'รูปร่าง' ที่มีค่าที่แสดงถึงจุดนอกภายในและในขอบเขตของโดเมน สมมติว่าเรามีรูปร่างเช่นนี้:
000000001000000110000012100001221000122210012221001221000121000011000001000000000000
โดเมนที่แท้จริง (ซึ่งรายการที่ไม่ใช่ศูนย์ของเมทริกซ์ทั้งหมด) เป็นรูปสามเหลี่ยมที่ชี้ลง 1 หมายถึงคะแนนในขอบเขตในขณะที่ 2 เป็นตัวแทนของจุดภายใน (ไม่ทราบโดยทั่วไป) เราสามารถกำหนดหมายเลขโหนดดังนี้:
00000000- 1000000- 1- 100000- 11- 10000- 127- 1000- 13811- 100- 14912- 100- 1510- 1000- 16- 10000- 1- 100000- 1000000000000
ที่นี่ -1 แสดงถึงตำแหน่งเขตแดน จากนั้นคุณสามารถเรียกใช้ชุดรูปแบบที่แตกต่างกัน จำกัด เหนือรายการทั้งหมดในเมทริกซ์ แต่ใช้คำสั่ง if เพื่อดำเนินการรูปแบบของคุณเฉพาะในโหนดภายใน (จาก 1 ถึง 12) วิธีนี้ไม่ใช่วิธีที่มีประสิทธิภาพที่สุดในการทำ แต่จะทำให้งานสำเร็จ ... ถ้าคุณสามารถซื้อหน่วยความจำได้อาจเป็นการดีที่จะเก็บรายการ (i, j) ของโหนดภายในทั้งหมดและเรียกใช้ สำหรับวนรอบบนโหนดเหล่านั้นเท่านั้น
ในการสร้างรูปทรงเรขาคณิตโดยตรงคุณสามารถทำหนึ่งในสองสิ่งต่อไปนี้:
1. สร้างภาพขาวดำด้วยตนเองและนำเข้าสู่โปรแกรมของคุณ (นำไปใช้ง่ายที่สุด แต่ไม่สามารถปรับแต่งความละเอียดเชิงพื้นที่ dx หรือ dy) ได้
2. เขียนโค้ดที่จะสร้างการแสดงออกที่ไม่ต่อเนื่องของรูปร่างพื้นฐานที่คุณต้องการสำหรับการแก้ปัญหาเชิงพื้นที่ใด ๆ ที่คุณเลือก (ยากที่จะนำไปใช้ แต่จะมีประสิทธิภาพมากขึ้นสำหรับแผนการ จำกัด ผลต่างทั่วไปของความละเอียดเชิงพื้นที่ dx หรือ dy)
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้คุณอาจต้องการพิจารณาดูวิดีโอเหล่านี้:
หลักสูตรกราฟิกคอมพิวเตอร์ NPTEL, วิดีโอ 2 (กราฟิกแรสเตอร์)
หลักสูตรกราฟิกคอมพิวเตอร์ NPTEL วิดีโอ 3 (กราฟิกแรสเตอร์ต่อ)
ลองดูและ แจ้งให้เราทราบหากสิ่งนี้ตอบคำถามของคุณ