Учитывая пиксельную сетку и три координаты треугольника, каковы координаты самого большого прямоугольника внутри треуголC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Учитывая пиксельную сетку и три координаты треугольника, каковы координаты самого большого прямоугольника внутри треугол

Сообщение Anonymous »

Я реализую программный растеризатор на C++ и пытаюсь протестировать идею алгоритма заполнения треугольников. По сути, идея состоит в том, чтобы найти координаты самого большого прямоугольника (с точки зрения площади/количества пикселей) внутри указанного треугольника. У меня есть реализация растеризатора треугольника Пинеда, и мне было интересно, приведет ли к ускорению вызов функции заполнения прямоугольника, а затем функции Пинеды для полученных треугольников (меньшие треугольники, оставшиеся после того, как прямоугольник отрезан от исходного треугольника). Логика этого в том, что мне не придется запускать функцию края пикселя внутри этого прямоугольника, что потенциально сэкономит циклы процессора (?). Я даже не уверен, правда ли это, поэтому хотел бы попробовать.
У этой проблемы есть несколько условий. Во-первых, треугольник не ограничивается прямоугольными или равнобедренными углами, он может иметь любые три координаты. Во-вторых, прямоугольник внутри этого треугольника должен быть «вертикальным», то есть его стороны должны быть идеально горизонтальными или вертикальными, т. е. выровнены по пиксельной сетке, чтобы я мог просто вызвать цикл для заполнения этих пикселей, а не вычислять наклон/ градиент.
Нарисуйте то, что я имею в виду.
Я не ищу код как ответ, а просто логику того, с чего мне начать. подходим к этой проблеме.

Подробнее здесь: https://stackoverflow.com/questions/781 ... he-coordin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»