Реализации алгоритмов/Алгоритм DDA-линии: различия между версиями

Содержимое удалено Содержимое добавлено
перенесено из w:Алгоритм DDA-линии
 
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 6:
Значения вспомогательных переменных <math>x</math> и <math>y</math> здесь сохраняются в виде массивов.
 
<sourcesyntaxhighlight lang="c">
void dda_line (float x1, float y1, float x2, float y2)
{
Строка 39:
/* -------------------------------*/
}
</syntaxhighlight>
</source>
 
оптимизированный алгоритм, вместо деления использует побитовое смещение.
sx, sy — начало линии tx, ty — конец линии. Применяется в случае если использование переменных с плавающей запятой (float, double и т. п.) невозможно в виду каких либо ограничений.
 
<sourcesyntaxhighlight lang="c">
int l, dx, dy;
int xr = Math.abs(tx-sx);
Строка 65:
py += dy;
}
</syntaxhighlight>
</source>
 
{{BookCat}}