Tôi đã nghĩ đến một phân chia tam giác cho mục đích tam giác trơn tru (không xuất hiện) theo thời gian trên bay. Tôi nghĩ rằng rất có thể chương trình này đã được phát minh và có tên nhưng dường như tôi có thể tìm thấy nó.
Phân chia được thực hiện trên cơ sở cạnh tam giác. Đối với mỗi cạnh dài hơn một ngưỡng nhất định, giả sử 1cm trên màn hình (tức là không gian được chiếu), cạnh đó có hai điểm mới cách nhau một khoảng cách (1cm). Các cạnh ở giữa các điểm mới sau đó được hoàn thành và không cần phân chia thêm. Do đó, có tới sáu điểm mới được tạo từ phân chia phụ, nhưng nó có thể chỉ là một cạnh tạo ra hai điểm mới. Từ các điểm tam giác được hình thành và phân chia phụ được thực hiện đệ quy cho đến khi tất cả các cạnh ngắn hơn ngưỡng.
Tạo hai điểm dọc theo cạnh cách nhau một ngưỡng rất có ý nghĩa để phân chia được trơn tru theo thời gian. Tôi không thể thấy Loop hay Catmull Clark đang làm điều này.
Tôi có lẽ nên đề cập đến việc tôi sử dụng nó thành công cho các lưới cartesian trong các hình chiếu cực. Nói một cách chính xác hai điểm được tạo dọc theo một cạnh có thể có hoặc không nằm trên đường được chiếu ban đầu.
Vậy nó được gọi là gì?
Giải trình
Vì vậy, tôi đoán rằng tôi phải giải thích một vài điều về các hệ tọa độ cartesian trong các phép chiếu cực.
Một ví dụ điển hình của hệ tọa độ cực là một trái đất phẳng. Trái đất có thể trông như thế này trong một hệ thống cartesian với một cái bàn lớn ở trên nó:
Một hệ tọa độ cực có thể có trục x được định nghĩa là góc từ tâm trái đất đến tọa độ cartesian cho một mặt phẳng dùng để chiếu trái đất. Trục y sau đó là độ cao, từ bề mặt trái đất hoặc thẳng thừng là khoảng cách từ tâm trái đất. Một phiên bản cực được chiếu của hình ảnh trên được đưa ra mô tả của tôi sẽ trông như thế này (với giả định trái đất là hình cầu, mà nó không ...):
(xin hãy kiên nhẫn với tôi không phải là một nghệ sĩ tuyệt vời.)
Như bạn có thể thấy cái bàn bây giờ bị bẻ cong bởi vì ở giữa nó gần trung tâm trái đất hơn ở các cạnh (phóng đại, tôi biết).
Nếu không có phân chia phụ, bảng sẽ vẫn phẳng trong chế độ xem cực, độ cao của nó sẽ bị sai lệch. Một đối tượng điểm trên đầu bảng theo tọa độ cartesian có thể ở dưới nó trong chế độ xem cực. Phân chia tam giác nhằm giảm bớt lỗi cho đến khi nó "đủ nhỏ". Tôi đo lường điều này bằng độ dài dự kiến trên màn hình bởi vì nó rẻ và có sự tương ứng tốt với các yêu cầu chất lượng của tôi, nhưng các phương án khác sẽ làm tốt hoặc tốt hơn tùy thuộc vào các thuộc tính cực, ví dụ như bạn quan tâm đến độ cao chính xác ở xa bề mặt trái đất.
Như bạn có thể nhận ra lỗi trở nên càng lớn thì đối tượng càng lớn và càng gần với điểm gốc.
Biết một số chi tiết của thuật toán.
Đây là một hình tam giác (theo tọa độ cartesian) với cạnh màu đỏ và màu xanh lá cây dài ở chế độ xem cực , tức là màu đỏ rất gần gốc cực, màu xanh lá cây không quá gần và màu đen khá xa:
Và đây là cách hình tam giác sẽ được hình thành:
Khi các điểm mới được tạo tọa độ cartesian của chúng là tọa độ dọc theo cạnh ban đầu. Các tam giác mới được đưa vào thuật toán một lần nữa và lặp lại cho đến khi sai số đủ nhỏ. Trong hình trên, người ta có thể nghi ngờ cạnh màu đỏ nên được phân vùng ít nhất một lần nữa.
Điểm trong việc tạo hai điểm kiểm soát là để có được hành vi khớp cạnh mà không cần thêm thông tin cạnh. Việc chia hai hình tam giác liền kề (hoặc đường cho vấn đề đó) được đảm bảo có các điểm mới trên cùng một vị trí với cùng thông tin chính xác.
Đặc điểm chính ở đây là các tam giác mới không vượt qua giữa tam giác ban đầu vì điều này sẽ gây ra quá nhiều sửa lỗi từ khung này sang khung khác vì lỗi lớn nhất nằm ở giữa các điểm kiểm soát. Các điểm gần với điểm kiểm soát sẽ được sửa ít nhất và do đó đưa ra mức hiệu chỉnh ít nhất để làm cho lỗi đủ nhỏ. Điều này rất quan trọng để phóng to mượt mà trong bất kỳ trục hoặc thậm chí chuyển động của các đối tượng được chiếu.
Bố cục tam giác ổn định cho dù cạnh nào quá dài.
Đệ quy đầu tiên theo chiều rộng là cách tốt hơn để phân chia phụ bị giới hạn bởi thời gian hoặc bộ nhớ vì việc khớp cạnh được đảm bảo ngay cả đối với phân chia phụ bị gián đoạn / một phần.