ZXNet эхоконференция «code.zx»


тема: Sinus function



от: Aleksey Malov
кому: Igor Kiselev
дата: 21 Jul 2000
Приветствую тебя, Igor! Mon 3 Jul 2000 в 03:08:14 Igor Kiselev и All разговаривали на тему Sinus function. IK> Посвятите меня в сабж, а именно неплохо бы поиметь исходняк IK> метода калькуляции синусной функции. Если тебя интересуют методы генерации синусных таблиц для всяких эффектов, то могу посоветовать мою процедуру. Hемного теории: Данная процедура не рассчитывает синусную таблицу, она лишь распаковывает ее из 17 байтовой таблицы данных. В таблице хранятся вторые производные синусной функции для углов от 0 до 64 градусов (период функции не 360, а 256 градусов для удобства). Hа входе ;D-старший байт адреса начала 512 байтовой знаковой синусной таблицы. Hа выходе - таблица функции (HL)+(256+HL)=255sin(L) INISIN LD HL,SINTAB-1 LD E,255 LD BC,#06FA INS INC E LD A,E AND 3 JR NZ,$+3 INC HL XOR A RLC (HL) RLA RLC (HL) RLA DEC A ADD A,B LD B,A ADD A,C LD C,A CALL INSSR PUSH DE LD A,128 SUB E LD E,A LD A,C CALL INSSR POP DE BIT 6,E JR Z,INS RET INSSR LD (DE),A SET 7,E NEG LD (DE),A INC D SBC A,A LD (DE),A RES 7,E XOR A LD (DE),A DEC D RET SINTAB ;упакованные данные DB #58,#56,#15,#55 DB #49,#21,#85,#52 DB #21,#54,#88,#54 DB #85,#52,#15,#48,#55 Пример: sinus equ #c000 ld d,sinus/256 call inisin Получить значение синуса (от -255 до +255) можно так: ;в L-значение угла ld h,sinus/256 ld e,(hl) inc h ld d,(hl) Счастливо, Igor! С вами был Vivid/Brainwave^X-Project.




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

Похожие статьи:
Рsych - оказывается педофил!
Pussy - анонс новой игры от Fatality.
Почтовый ящик - письма читателей: Alex Doom, Жека и Толян.
Наш смак - рецепт наваристой ухи с водкой.
Найдено в интернете - Lexx.

В этот день...   8 мая