|
Move
#09
02 августа 1997 |
|
Алгоритм - Один полезный трюк с ^ (алгоритм круга).

(c) Том_HIAL/Ascendancy Cr.L. г.Гродно
Один полезный трюк с ^
Интересно, Вы когда-нибудь пытались
нарисовать круг в кодах? Даже если да, то
согласитесь со мной, у Вас оставалось
чувство, что это, ну если не халтура
(заготовленные спрайты), то все равно
что-то не так... А именно в любых
мало-мальски приличных расчетах как воздух
нужна таблица квадратов. А как ее сделать
у каждого свои методы ...
Я предлагаю Вам следующий способ, а
точнее метод: сначала важно понять что и
как, а потом применяйте, где сочтете
нужным. Возьмите лист бумаги, нарисуйте
табличку в три строки и хотябы в десять
столбцов (для простоты общения условимся,
что строки это - s1,s2,s3,..., а столбцы -
t0,t1,t2,t3,t4,t5...), затем заполните
верхнюю (s1) строку числами по возрастанию
начиная с единицы до конца строки
(1,2,3,4,5,...), вторую (s2) строку
заполните нечетными числами также в
порядке возрастания (1,3,5,7,9,11,13 и
т.д.). Теперь будем заполнять последнюю
строку (s3): для этого поставьте в позиции
(s3,t0) единицу и далее для каждого
последующего столбца выполните следующую
операцию: взять число из третьей строки
предыдущего столбца, сложить с числом из
второй строки текущего столбца, результат
записать в третью строку текущего столбца,
перейти на следующий столбец, выполнить
подобные действия для каждого столбца...
Ну и зачем Это нужно? А если внимательно
посмотреть на первую и третью строку по
столбцам, то даже не надо иметь семь пядей
в балде, чтобы увидеть: в первой строке
числа, а в третьей их квадраты...
t0 t1 t2 t3 t4
s1 1 2 3 4 5 ...
s2 1 3 5 7 9 ...
/│ /│ /│ /│
s3 1 4 9 16 25 ...
Скажу больше, вторая строка -
вспомогательная, и в процессе расчетов
может генерироваться из первой: берете
число из первой строки нужного столбца
умножаете его на два (сдвиг влево) и
отнимаете единичку. Круги, например, на
таких выкрунтасах получаются беcподобно.
Еще проще обьяснить не могу. Но у кого
что-нибудь в голове есть, тот найдет и
более лучшее применение.
Ну вот на сегодня и все. В следующий
раз расскажу чего-нибудь еще...
p.s. Это Вам не @ сбрасывать на погашеной
ВГ-шке ;-)
Другие статьи номера:
Похожие статьи:
В этот день... 22 ноября