IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> алгоритм Брезенхэма, обьясните плиз
GoodWind
сообщение 26.09.2004 10:52
Сообщение #1


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Господа, кто нибудь может доходчиво обьяснить сабж ?


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 26.09.2004 19:52
Сообщение #2


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


никто, судя по всему sad.gif


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 27.09.2004 6:59
Сообщение #3


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Алгоритм Брезенхейма служит для построения прямых. Хотя я видел как с помощью него окружность строят smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 27.09.2004 7:14
Сообщение #4


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Oleg_Z, спасибо, я знаю для чего, я хочу знать КАК smile.gif


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 27.09.2004 7:21
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


http://algolist.manual.ru/graphics/painting/line.php
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 27.09.2004 7:27
Сообщение #6


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Ozzя, сенкс :p4:


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
P@sh@
сообщение 27.09.2004 9:54
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской

Репутация: -  2  +


Есть у меня какой-то алгоритм Брезенхема для эллипса... сам не смотрел даже, и не помню, где достал (может здесь?smile.gif)... см. вложение.

а для рисования линий много раз им пользовался (или похожим), нашел тут одну из самых первых собственных реализаций:
Код
procedure line(x1,y1,x2,y2:integer; c:byte);
var dx,dy,dn,x,y:integer;
function sgn(n:integer):shortint;
begin
 if n<0 then sgn:=-1
 else if n>0 then sgn:=1
 else sgn:=0;
end;
function inr(a,b,c:integer):boolean;
begin
 inr:=(a>=b)and(a<=c);
end;
begin
 dx:=x2-x1;
 dy:=y2-y1;
 x:=x1; y:=y1;
 if abs(dx)>=abs(dy) then begin
   dn:=abs(dx) div 2;
   while (x<>x2) do begin
     pset(x,y,c);
     x:=x+sgn(dx);
     dn:=dn-abs(dy);
     if dn<=0 then begin
       dn:=dn+abs(dx);
       y:=y+sgn(dy);
     end;
   end;
 end else begin
   dn:=abs(dy) div 2;
   while y<>y2 do begin
     pset(x,y,c);
     y:=y+sgn(dy);
     dn:=dn-abs(dx);
     if dn<=0 then begin
       dn:=dn+abs(dy);
       x:=x+sgn(dx);
     end;
   end;
 end;
 pset(x,y,c);
end;


Прикрепленные файлы
Прикрепленный файл  Bresenham_Ellipse.txt ( 8.02 килобайт ) Кол-во скачиваний: 479
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 27.09.2004 16:53
Сообщение #8


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


P@sh@, пасибо


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 24.07.2025 7:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"