cl-greiner announce

Feb 17, 2010 22:09

(Как всегда) неожиданно подкрался финал конкурса, и я в связи с этим внезапно осознал, что в моем решении затаился неприятный баг, связанный с математикой на полигонах. Починить мой колхозный метод с налету не удалось, поэтому пришлось делать по-уму.

Путем непродолжительного гуглежа была найдена необходимая бумага Efficient Clipping of Arbitrary Polygons и (с некоторым трудом) мне удалось ее переложить на CL. Результат я чуток вылизал и оформил в виде отдельного пакета CL-GREINER, можно забрать здесь: https://bitbucket.org/swizard/cl-greiner/ .

REPL в подобных проектах, конечно, вещь совершенно незаменимая. Но одного репла мне все равно не хватило, пришлось делать какую-то визуализацию, чтобы глазом оценить результат. Сначала пытался рисовать текстовыми звездочками, но потом вконец задрался, и пришлось осваивать CL-GTK2 имени dmitry-vk для графического отображения.

В результате получилось как-то так (московская область против адыгейской, развернутой на 213 градусов):

POLYGONS-AND


POLYGONS-OR


POLYGONS-CLIP


cl-greiner, announce, lisp, greiner, common lisp, cl-gtk2, contest

Previous post Next post
Up