Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Хід роботи





У растрових системах прямі лінії будуються за допомогою пікселів, а розмір кроку в горизонтальному і вертикальному напрямках обмежується розбіжністю пікселів. Це означає, що потрібно "провести вибірку" точок прямої лінії з дискретними значеннями і визначити пікселі, найближчі до даної прямої для кожного елементу вибірки. У середовищі VC розглянемо алгоритми перетворення стандартів розгортки прямої.

1. Цифровий диференційний аналізатор (ЦДА) — це алгоритм перетворення стандартів розгортки прямої лінії, оснований на обчисленні або за рівнянням або за рівнянням . Пряма розбивається на одиничні відрізки по одній координаті, а для іншої координати визначаються відповідні цілі значення, найближчі до даної прямої.

#include <stdlib.h>

#include <math.h>

inline int round (const float а) {

return int (а + 0.5); }

void lineDDA (int x0, int y0, int xEnd, int yEnd){

int dx = xEnd-x0, dy = yEnd-y0, steps, k;

float xIncrement, yIncrement, x = x0, y = y0;

if (abs (dx) > abs (dy))

steps = abs (dx);

else

steps = abs (dy);

xIncrement = float (dx) / float (steps);

yIncrement = float (dy) / float (steps);

setPixel (round (x), round (y));

for (k =0; k < steps; k++){

x += xIncrement;

y += yIncrement;

setPixel (round (x), round (y));

}

}

2. Растровий алгоритм створення прямих ліній розроблений Брезенхемом (Bresenham), у ньому обчислюються тільки цілочислові значення приростів. Крім того, алгоритм побудови прямих Брезенхема можна адаптувати для зображення кіл та інших кривих.

Реалізація алгоритму побудови прямої лінії Брезенхема для тангенса кута нахилу в діапазоні 0 < т < 1 наведена в наступній процедурі. Тут вводяться координати кінців відрізка, а пікселі відображаються від лівого кінця до правого.

#include <stdlib.h>

#include <math.h>

/* Процедура побудови відрізка (Брезенхема) для |m|<1,0.*/

void lineBres (int x0, int y0, int xEnd, int yEnd){

int dx = abs (xEnd-x0), dy = abs(yEnd-y0);

int p = 2 * dy - dx;

int twoDy = 2 * dy, twoDyMinusDx = 2 * (dy-dx);

int x, y;

/*Визначається, який кінець взяти як початкове *положення. */

if (x0 > xEnd) {

x = xEnd;

y = yEnd;

xEnd = x0;

}

else {

x = x0;

y = y0;

}

setPixel (x, y);

while (x < xEnd) {

х++;

if (P < 0)

р += twoDy;

else {

y++;

р += twoDyMinusDx;}

setPixel (x, y);

}

}

/* Процедура для відображення точки*/

Void setPixel (int xCoord, int yCoord){

glBegin (GL_POINTS);

glVertex2i(xCoord, yCoord);

glEnd();

}







Дата добавления: 2015-10-19; просмотров: 404. Нарушение авторских прав; Мы поможем в написании вашей работы!




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

Studopedia.info - Студопедия - 2014-2026 год . (0.011 сек.) русская версия | украинская версия