mp3 | Магазин | Рефераты | Рецепты | Цветочки | Общение | Знакомства | Вебмастерам | Домой

Прикладное программирование, 1 семестр (Lexicon)


запомнить в избранное
 
искать в этом разделе


ВНИМАНИЕ !!! Это сокращенная версия файла. Предназначена она только для того, чтобы вы могли предварительно ознакомиться с документом, перед тем как его скачать. Здесь нет картинок, не сохранен формат, шрифт, размеры и положение на странице.
Чтобы скачать полную версию, нажмите ссылки которые находятся чуть-чуть ниже (Info File Mail)
 Info File Mail 
Файл относится к разделу:
ПРОГРАММИРОВАHИЕ, БАЗЫ ДАHHЫХ
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N8
РИСОВАНИЕ ОКРУЖНОСТЕЙ
(алгоритм Харденбурга)
Уравнение окружности:
R 52 0 = X 52 0 + Y 52
С точки зрения программирования достаточно рассчитать 1/8
часть окружности - остальные точки могут быть получены за счет
симметрии.
Обычно начинают рисовать из точки, где координата по основной оси (по которой приращение больше) равна 0, а по неосновной -
радиусу. Каждая следующая точка получается из формулы:
7|\\\\\\\\\\\\\\\\
MinorAxis = 7? 0 R 52 0 - MajorAxis 52
где R - радиус,
MinorAxis - координата по неосновной оси,
MajorAxis - координата по основной оси.
Недостаток - нужно вычислять квадратный корень и использовать арифметику с плавающей запятой. Желательно, однако, работать
только с целочисленной арифметикой.
Вместо вычисления такого выражения для каждой точки достаточно отслеживать текущие значения MinorAxis 52 0 и R 52 0 - MajorAxis 52
и декрементируйте один пиксель по неосновной оси, как только
MinorAxis 52 0 становится меньше R 52 0 - MajorAxis 52 0.
Ошибка накопления - не целое число. Однако никаких проблем
это не создает. Координату по неосновной оси нужно изменять, когда
(Y - 0.5) 52 0 > R 52 0 - X 52
- 2 -
Однако:
(Y - 0.5) 52 0 = Y 52 0 - Y + 0.25
Разность Y 52 0 - Y вычисляется в целых числах, а 0.25 можно
просто игнорировать, потому что разность R 52 0 - X 52 0, которую мы будем сравнивать с ошибкой накопления по Y, всегда целое число. Если R 52 0 - X 52 0 равен Y 52 0 - Y, то на самом деле R 52 0 - X 52 0 меньше ошибки.
Следовательно, неосновную координату нужно менять, когда
Y 52 0 - Y >= R 52 0 - X 52 0.
Кроме того, при необходимости можно ускорить вычисления, заменив операцию взведения в квадрат (умножения) на сдвиг, сложение
и инкремент (для 486-х и более мощных процессоров такая замена не
имеет смысла:
(a + 1) 52 0 = a 52 0 + 2a + 1.


подписаться на рассылку.
добавить в избранное.
нашли ошибки ?

Это место продается !!!

Ищу реферат (диплом) Если вы не можете найти реферат, то дайте в этом разделе объявление и возможно вам помогут :)
Предлагаю реферат (диплом) Если у вас есть свои рефераты и вы готовы помочь другим, то дайте в этом разделе свое объявление и к вам потянуться люди :)
Пополнить коллекцию Здесь вы можете пополнить нашу коллекцию своими рефератами.

mp3 | Магазин | Рефераты | Рецепты | Цветочки | Общение | Знакомства | Вебмастерам | Домой

время поиска - 0.03.