Move #09
02 августа 1997

Алгоритм - Один полезный трюк с ^ (алгоритм круга).

<b>Алгоритм</b> - Один полезный трюк с ^ (алгоритм круга).
(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.  Это Вам не @ сбрасывать на погашеной
ВГ-шке ;-)



Другие статьи номера:

От редакции - О регулярности выхода газеты.

О сетях - Может договоримся ? Зачем нужна внешняя почта ?

Обзор - Сенсация! DOOM на Спектруме!.

Алгоритм - Об адресации спектрумовского экрана.

Алгоритм - Один полезный трюк с ^ (алгоритм круга).

Мозаика - Где они? Что стало с людьми, писавших фирменные игры для Спектрума.

Письмо - Письмо от Максима Голикова (DarkMax).

Правда о хакерах - Как она есть. Кто такие хаккеры.

Реклама - Реклама и объявления.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Enlight'99 или история повторяется - СС'999 состоялся, его результаты не очень то и радуют.
Машинные языки - Языки программирования.
Письмо №273
Ассемблер - поговорим о такой необходимой процедуре как вывод спрайта.
B.B.S. Новости - O работе B.B.S.

В этот день...   21 ноября