Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2016, 15:47   #1
timcryt
Форумчанин
 
Регистрация: 25.01.2016
Сообщений: 105
По умолчанию Рисование линий

Я недавно столкнулся с задачей, в которой нужно нарисовать несколько произвольных линий, но непонятно как их поточечно рисовать, все мои знания по поточненому рисовани линий отображены в этой программе
Код:
void pset (int x, int y, char c) {
	asm {
		pusha
		mov cx,x
		mov dx,y
		mov al,c
		mov ah,0Ch
		int 10h
		popa
	}
}

int main () {
	asm {
		pusha
		mov ax,12h
		int 10h
		popa
	}

	for (int x = 269; x < 370; x++) {
		pset (x, 239, 15);
		pset (x, 290, 15);
	}

	for (int y = 189; y < 290; y++) {
		pset (269, y, 15);
		pset (370, y, 15);
	}
	for (int x = 269, y = 189; x < 370, y < 290; x++, y++) pset (x, y, 15);
	for (int x = 370, y = 189; x > 268, y < 290; x--, y++) pset (x, y, 15);
	asm {
		pusha
		mov ah,0
		int 16h
		mov ax,3
		int 10h
		popa
	}
}
Но в задаче нужно рисовать не только диагональные, горизонтальные и вертикальные линии, но как их рисовать я не знаю. Есть ли какой-нибудь универсальный алгоритм (или не универсальные алгоритмы) рисования линий?
timcryt вне форума Ответить с цитированием
Старый 03.05.2016, 17:06   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Алгоритмы Брезенхема:
- Описание на руском
http://www.bsu.by/main.aspx?guid=168261
- Оригинальная работа
http://www.cse.iitb.ac.in/~paragc/te...enham_line.pdf
- А самый быстрый алгоритм можно найти в
Graphics Gems том 1 A.Glassner
-Код на TASM можно найти тут
http://www.cyberforum.ru/post2377355.html

Более качественный, код можно получить используя алгоритм китайца Бу (Wu).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 03.05.2016, 18:36   #3
timcryt
Форумчанин
 
Регистрация: 25.01.2016
Сообщений: 105
По умолчанию

Спасибо, ссылка очень помогла, а есть какие-нибудь алгоритмы для построения окружностей, эллипсов, секторов, закраски областей?

Последний раз редактировалось timcryt; 03.05.2016 в 18:38.
timcryt вне форума Ответить с цитированием
Старый 03.05.2016, 18:47   #4
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Спасибо, ссылка очень помогла, а есть какие-нибудь алгоритмы для построения окружностей, эллипсов, секторов, закраски областей?
Есть. А разве, тех что выше недостаточно?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C] рисование линий ZuBy Общие вопросы C/C++ 6 01.06.2015 12:18
Вывод линий isaevda Помощь студентам 0 23.02.2015 11:00
Рисование "прямых" линий. Делфи Artsiom Помощь студентам 5 29.08.2013 23:17
рисование линий в Tchart V1rus015 Помощь студентам 0 16.04.2013 22:45
рисование линий (а в идеале стрелок) в javascript Rusl92 JavaScript, Ajax 2 21.01.2009 10:18