![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 11.12.2013
Сообщений: 56
|
![]()
помогите разобраться с этим алгоритмом, перечитал много сайтов, но че то никак не врублюсь, вот как этот коэфициент отклонения высчитывать? вообще пиксель он же как бы мельчайшая точка и как линия может проходить через пиксель если меньше пикселя ничего нет? о_О
з.ы. например вот что написано об этом в википедии: http://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма но че то там так все запутано... |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]()
пиксель - не точка, а вполне себе такой квадратик с известными размерами.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,371
|
![]()
Пиксел - это вполне измеряемая величина, больше того, пиксел состоит из трех цветовых точек, которыми и задается цвет пикселя.
Возьми увеличительное стекло и посмотри на пиксел. Возьми тетрадный лист или лист из блокнота, который уже разлинован в клетку. Каждую клетку считаем пикселом (экран монитора под лупой). Закрась одну клетку - это начальная координата будущей линии. Выбери дополнительные (вторая координата линии) клетки по следующему правилу - одна по горизонтали от начальной, следующая повыше и последняя - так, что бы линия, соединяющая ее с закрашеной была под 45 град. Соедини тонкой линией (карандашем) выбранные точки с закрашеной. Смотри как линия пересекает клетки (пикселы). В некоторых случаях она проходит через центр пиксела, а в некоторых цепляет только его край. Т.о. когда линия проходит прямо через центр пиксела - он светится. В том случае, когда линия не проходит через центр пиксела, следует сделать выбор: либо пиксел должен светиться, либо будет светиться соседний пиксел. Все зависит от того, к центру какого пиксела ближе проходит линия. Как-то так, ...
Как-то так, ...
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Никакого выбора делать не нужно. Если линия пересекат пиксель хоть на 1%, он светится.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]() |
![]() |
![]() |
![]() |
#6 | ||
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]() Цитата:
Цитата:
А на википедию вы без картинок заходили? Там и примеры есть ![]() А уж в поиске по картинкам.. ууу ![]() https://www.google.ru/search?q=%D0%B...D0%BC&tbm=isch
Благодарить в репутацию. Проклинать — туда же
![]() Последний раз редактировалось Luuzuk; 17.03.2014 в 11:19. |
||
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Это в идеале, для псевдографики актуально. Ничего страшного не произойдёт, если пиксели будут перекрывать друг друга. Для злаза это будет совершенно незаметно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм брезенхема | Иварунька | Общие вопросы Delphi | 1 | 20.11.2012 00:57 |
Нужно найти алгоритм для пересечения отрезка с набором прямоугольников | Trinock | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 01.12.2011 14:31 |
Алгоритм Брезенхема | vedro-compota | Общие вопросы Delphi | 5 | 31.05.2010 19:49 |
Алгоритм Брезенхема для рисования эллипса | vedro-compota | Общие вопросы Delphi | 4 | 24.05.2010 20:35 |
Как записать растр в файл? Как прочесть растр из файла? | litvin44 | Win Api | 1 | 20.05.2010 23:17 |