Форум сайта python.su
1
Привет всем.
У меня есть вот такой код.
Там рисуется фигура по трём координатам.
Как узнать координаты всех пикселей которые находятся в этой фигуре?
def tur(self, x, y, ugal):
ugal += 15
poligon = []
self.pixel = []
poligon.append((round(x),round(y)))
xx = sin(ugal * pi / 180.0) * 19
yy = cos(ugal * pi / 180.0) * 19
x -= xx
y -= yy
poligon.append((round(x),round(y)))
ugal += 75
x_k, y_k = x,y
xx = sin(ugal * pi / 180.0) * 10
yy = cos(ugal * pi / 180.0) * 10
x += xx
y += yy
poligon.append((round(x),round(y)))
pygame.draw.polygon(self.screen, (0,0,0), poligon)
Отредактировано Massa1994 (Авг. 26, 2013 12:05:19)
Офлайн
Могу лишь предложить медленное и тупое решение. Допустим для поля MxN надо установить какие из точек лежает внутри фигуры. Берём кажду точку и мысленноо рисуем через неё две лении: горизонтальную и вертикальную. Если точка лежит внутри фигуры, то каждая из этих линий пересечёт фигуру не менее двух раз. Если фигура какая-то хитрая, то может быть и больше двух раз.
Офлайн
72
lorienПроще уж отрисовать фигуру в память и пробежать по полученному массиву.
Берём кажду точку и мысленноо рисуем через неё две лении: горизонтальную и вертикальную.
Massa1994А, стесняюсь спросить, с какой целью?
Как узнать координаты всех пикселей которые находятся в этой фигуре?
Отредактировано PooH (Авг. 28, 2013 04:56:37)
Офлайн
31
В переменной poligon , что находится?
Все, догнал…
Отредактировано sanodin (Авг. 28, 2013 09:49:50)
Офлайн
> Проще уж отрисовать фигуру в память и пробежать по полученному массиву.
Я это и имел в виду. Берём поле NxM, там “рисуем” график заданной функции и далемм в лоб для каждой точки проверяем. Это просто тупое решение без привлечения мат. аппарата.
Офлайн
33
Помню, помню лабораторные работы по компьютерной графике :)
http://algolist.manual.ru/graphics/fill.php
Офлайн