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

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

Хід роботи





У растрових системах прямі лінії будуються за допомогою пікселів, а розмір кроку в горизонтальному і вертикальному напрямках обмежується розбіжністю пікселів. Це означає, що потрібно "провести вибірку" точок прямої лінії з дискретними значеннями і визначити пікселі, найближчі до даної прямої для кожного елементу вибірки. У середовищі 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 оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

Этапы и алгоритм решения педагогической задачи Технология решения педагогической задачи, так же как и любая другая педагогическая технология должна соответствовать критериям концептуальности, системности, эффективности и воспроизводимости...

Понятие и структура педагогической техники Педагогическая техника представляет собой важнейший инструмент педагогической технологии, поскольку обеспечивает учителю и воспитателю возможность добиться гармонии между содержанием профессиональной деятельности и ее внешним проявлением...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

Субъективные признаки контрабанды огнестрельного оружия или его основных частей   Переходя к рассмотрению субъективной стороны контрабанды, остановимся на теоретическом понятии субъективной стороны состава преступления...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

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