Nó không phải là hình chữ nhật cụ thể + hình tam giác bên phải, nhưng một điểm nghiên cứu tốt để xem xét các đa giác tesselating là Voronoi Diagrams and Delaunay Triangulations và here và here. Trong thực tế, nếu "hình tam giác vừa phải" đủ tốt, chúng được đảm bảo để tạo hình tam giác cho bạn và bạn luôn có thể chia tam giác thành hai tam giác vuông, nếu bạn thực sự cần những hình tam giác đó. Hoặc bạn có thể cắt bỏ "mẹo" của hình tam giác để tạo hình tam giác bên phải và một số hình chữ nhật ra khỏi hình tam giác bên phải.
Bạn cũng có thể thử ear-clipping, hoặc bằng cách quét xuyên tâm, nếu bạn biết bạn có đa giác khá thường xuyên hoặc bằng cách "cắt đoạn lồi lớn nhất". Sau đó, chia từng tam giác còn lại thành hai để tạo tam giác vuông.
polygon http://static.eruciform.com/images/polygon.png
Bạn có thể thử để làm phá vỡ ít bằng cách quét một cách rồi đến bên kia để tạo ra một hình thang và chia nó khác nhau, nhưng sau đó bạn phải làm một kiểm tra để đảm bảo rằng quét dòng của bạn hasn 't vượt qua một dòng khác ở đâu đó. Bạn luôn có thể kẹp tai, ngay cả với một cái gì đó thực tế fractal.
Tuy nhiên, điều này đôi khi tạo ra hình tam giác rất mỏng. Bạn có thể thực hiện heuristics, như "take the big", thay vì cắt liên tục dọc theo cạnh, nhưng phải mất nhiều thời gian hơn, tiếp cận O (n^2). Delaunay/Vornoi sẽ làm điều đó nhanh hơn trong hầu hết các trường hợp, với hình tam giác nhỏ hơn.
đây có phải là lớp học thuật toán hay lớp đồ họa máy tính không? – eruciform
Nó không phải dành cho một lớp học. Tôi không đi học. – Steve
Trong thực tế, tôi có thể sẵn sàng cung cấp cho một người có thể trả lời câu hỏi cũng một lời mời làm việc nếu họ có thể lập trình cho iPhone, máy tính để bàn Mac và .net. ;) – Steve