if (tx > 0.0001 || tx<-0.0001 )
cotanTable [i] = (long)( 65536.0 / tx );
else
cotanTable [i] = (tx > 0 ? 65536.0 * 10000.0 :
-65536.0 * 10000.0 );
if (sx> 0.0001 || sx<-0.0001 )
invSinTable [i] = (long)( 65536.0 / sx );
else
invSinTable [i] = ( sx > 0 ? 65536.0 * 10000.0 :
-65536.0 * 10000.0 );
if (cx> 0.0001 || cx<-0.0001 )
invCosTable [i] = (long)( 65536.0 / cx );
else
invCosTable [i] = ( cx > 0 ? 65536.0 * 10000.0 :
-65536.0 * 10000.0 );
}
}
Замечание. Помимо предложенной формы представления чисел 16.16 возможны и другие (8.24, 2.30 и т.д.). Выбор той или иной формы определяется требуемой точностью и диапазоном представляемых чисел. При этом возможно одновременное использование чисел в разных форматах.
Использование таблиц является одним из широко распространенных приемов, позволяющих заметно повысить быстродействие программы, и годится не только для вычисления тригонометрических функций.
Литература
1. Роджерс Д., Адаме Дж. Математические основы машинной графики. - М,: Машиностроение, 1980.
2. Гилой В. Интерактивная машинная графика. - М.: Мир, 1982.
3. Фокс Ф., Пратт М. Вычислительная геометрия. Применение в проектировании и на производстве. - М.: Мир, 1982.
4. Ньюмен У., Спрулл Р. Основы интерактивной графики. - М.: Мир, 1985.
5. Фоли Дж., ван Дэм Ф. Основы интерактивной машинной графики. - М.: Мир, 1985..
6. Математика и САПР:. В 2 кн. - М.: Мир, 1988.
7. Павлидис У. Алгоритмы машинной графики и обработка изображений. - М.: Радио и связь, 1988.
8. Аммерал Л. Машинная графика на языке С: В 4 кн. - Сол Систем, 1992.
9. Иванов В. П., Батраков А. С. Трехмерная компьютерная графика. - М.: Радио и связь, 1994.
10. Хейни, Лорен. Построение изображений методом слежения луча. - М., 1994.
11. Уилтон Р. Видеосистемы персональных компьютеров IBM PC и PS/2. Руководство по программированию. - М.: Радио и связь, 1994.
12. Шикин Е. В., Боресков А. В., Зайцев А. А. Начала компьютерной графики. - М.: Диалог-МИФИ, 1993.
13. Шикин Е. В., Боресков А. В. Компьютерная графика. Динамика, реалистические изображения. - М.: Диалог-МИФИ, 1995.