Поделитесь опытом, как быстро залить многоугольник?
Есть свой вариант, но он не устраивает по скорости.
Вид для печати
Поделитесь опытом, как быстро залить многоугольник?
Есть свой вариант, но он не устраивает по скорости.
Смотря как ты его задаешь.Цитата:
Сообщение от jim
если выпуклый - идёшь от верхней точки к нижней и рисуешь горизонтальные линии. см. dd3dfaq, его недавно даже на Speccy перенесли ;)Цитата:
Сообщение от jim
Спасибо.
А все-таки существует ли более или менее универсальная процедура заливки замкнутого контура, при этом не очень тормозная, для Спектрума.
Всё таки, ты бы привёл конкретные спецификации, потому что ты выдвигаешь к процедуре обработки противоречивые требования: УНИВЕРСАЛИЗМ и ВЫСОКАЯ СКОРОСТЬ, это в принципе противоречивые требования. Если нужна классическая процедура заливки - то бери zx-review'93 в оглавлении сразу найдёшь - это классический пример процедуры заливки, но быстрой её точно не назовёшь, хотя универсальной - да.Цитата:
Сообщение от jim
Противоречивые требования, по моему, это ПАМЯТЬ и СКОРОСТЬ.Цитата:
Сообщение от GriV
В том же Beta Basic 4.0 реализована оная функция с вполне приемлемой скоростью.
(Только вот, что она с памятью делает во время исполнения)
Вот бы её оттудова выцарапать.
По поводу конкретной спецификации: нужна именно универсальная процедура (без оптимизации по конкретным фигурам).
ps: Скачал 2 номера zx-review'93 с Virtual TR-DOS, ничего не нашел по заливке. А в каком номере это было?
ну так же и объём потребляемой памяти и скорость тоже противоречивые.Цитата:
Сообщение от jim
Не могу всопмнить конкретный номер, потому что у меня они в сборнике за 1993 год, там номера как таковые не разделялись - качай сборник и там ищи.
Вроде как там был разбор пакета 20 SuperRoutines, именно туда эта утилита входила.
А что мешает любую фигуру разбить на треугольники. Требугольник же,Цитата:
Сообщение от jim
как выпуклая фигура, заливается опиванным методом -- тривиально.
Ну если для тебя приемлем такой тормоз, то бери ревюшную процедуру.Цитата:
Сообщение от jim
Я ее видел в ZX-Forum (единственный номер в электронном виде).
А разбивать на треугольники? Мгновенно чтоли?:)Цитата:
Сообщение от fk0