Обсуждение:Алгоритм Коэна — Сазерленда

В алгоритме, похоже ошибка - происходит зацикливание если не менять a(или b, в зависимости от...) на c 195.160.253.4 12:21, 14 сентября 2009 (UTC)Ответить

Обнаружена ошибка в реализации для 2-мерной модели. править

Здравствуйте! Необходимо добавить проверку на ноль, иначе действительно возникает зацикливание. пример, к сожалению потерял, пока шел до компа с интернетом.(ситуация,когда а совпадает с нижним левым углом прямоугольника, а b выше,правее ) Что-то вроде этого: "

  1. define divider(_div_) ( ((_div_)!=0)?(_div_):1 )

" (использовать так: "

  c->y += (a->y - b->y) * (r->x_min - c->x) / divider(a->x - b->x);

" )будет то, что нужно =) (решетка директивы может отображаться как 1. ) С уважением, Виктор 83.149.3.228 08:47, 4 июня 2011 (UTC)Ответить