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. Это Вам не @ сбрасывать на погашеной ВГ-шке ;-)
Другие статьи номера:
Похожие статьи:
В этот день... 10 ноября