Для прямоугольного треугольника, заданного уравнением aX + bY <= c на целых числах </p>
Я хочу построить каждый пиксель (*) в треугольнике один и только один раз, в псевдослучайном порядке, без сохранения списка ранее найденных точек.
Я знаю, как это сделать с отрезком от 0 до x
выберите случайную точку 'o' вдоль линии,
выберите 'p', который относительно прост к x
повторить до x раз: O следующий = (O cur + P) MOD x
Чтобы сделать это для треугольника, я бы
1. Нужно посчитать количество пикселей в списках без треугольника
2. Отобразите целое число 0..пунктов в пару x, y, которая является допустимым пикселем внутри треугольника
Я надеюсь, что любое решение может быть обобщено на пирамиды и формы более высоких размеров.
(*) Я использую термин пиксель CG для пары целых точек X, Y, так что уравнение удовлетворяется.