Надо линию нарисовать!
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.134] |
|
|
правила раздела Алгоритмы

Надо линию нарисовать!
|
Сообщ.
#1
,
|
|
|
|
Мудеки дайте АЛГОРИТМ?
|
|
Сообщ.
#2
,
|
|
|
|
Весьма рекомендую перед нажатием кнопочки "отправить"
просматривать результат кнопкой "Предпросмотр". Здесь нет тех, к кому ты обращаешься |
|
Сообщ.
#3
,
|
|
|
|
Извеняюсь. Должно быть МУЖЕКИ!
|
|
Сообщ.
#4
,
|
|
|
|
может все же мужИки?
)какой тебе алгоритм дать? рисование линии по точкам. сходи на паскальский раздел сайта, там где-то есть раздел графика, в нем должно быть рисования линий и брезенхейма и еще каких-то и даже чья-то оригинальня разработка, рисующая по словам автора, линии в 2 раза быстреее чем стандарнтая паскалевская line. если не найдешь, обращайся к дядюшке vot'у, он если будет добрый, скажет:?)) |
|
Сообщ.
#5
,
|
|
|
|
;DЭто уже сделал
Теперь нужна формала расчета расстояния между двыумя точками(Т.е. сколько между двух точек вдезат пикселей) |
|
Сообщ.
#6
,
|
|
|
|
если подумаешь около получаса, я уверен и сам придумаешь, как:)))
так что думай:) |
|
Сообщ.
#7
,
|
|
|
|
???Не могу думать. ;D Сегодня уже третий день пью как Автомобиль :-[ Сегодня уже три литра выжрал водки. А мне до нового года нужно интруху написать. И мне там нужен этот алгоритм!
|
|
Сообщ.
#8
,
|
|
|
|
Бедняга... (насчет думать и прочего
![]() http://pascal.sources.ru/graph/line.htm http://pascal.sources.ru/graph/qline.htm http://pascal.sources.ru/graph/lines.htm http://pascal.sources.ru/graph/mcgatut.htm |
|
Сообщ.
#9
,
|
|
|
|
Вот пасибо! Вотя я пьян, но ты больше. Линию я уже намалевал!!! А вот ростояние посчитать мне нужно!
|
|
Сообщ.
#10
,
|
|
|
|
Цитата cr0acker, 03.06.02, 13:49:31 ;DТеперь нужна формала расчета расстояния между двыумя точками(Т.е. сколько между двух точек вдезат пикселей) Ax, Ay координаты первой точки Bx, By координаты второй точки Ax - Bx = расстояние в пикселах между точками по x Ay - By = расстояние в пикселах между точками по y |
|
Сообщ.
#11
,
|
|
|
|
Цитата m, 04.06.02, 09:14:26 ;D Ax, Ay координаты первой точки Bx, By координаты второй точки Ax - Bx = расстояние в пикселах между точками по x Ay - By = расстояние в пикселах между точками по y А как получить то сколько пикселей влезей от точки а к точке б по прямой линии! |
|
Сообщ.
#12
,
|
|
|
|
Тебе уже ответили - "сколько пикселей влезет" - это и есть расстояние между точками. Вычисли разность по Х и разность по Y. Большее из них число даст именно "сколько влезет".
|
|
Сообщ.
#13
,
|
|
|
|
промоделируй ситуацию на листик в клеточку. пиксель -- одна клеточка. попробуй закрашивая клеочки изобраить линию.. посчитай, сколько клеточек влезает между точками....
|
|
Сообщ.
#14
,
|
|
|
|
После трех литров это сложно
![]() Сорри за оффтопик! |
|
Сообщ.
#15
,
|
|
|
|
Цитата Demo_S, 04.06.02, 12:37:08 промоделируй ситуацию на листик в клеточку. пиксель -- одна клеточка. попробуй закрашивая клеочки изобраить линию.. посчитай, сколько клеточек влезает между точками.... ![]() Да он после трех литров и клеточки то не увидет ;D ;D ;D |
|
Сообщ.
#16
,
|
|
|
|
Мужеки офтопик коненчо, но сегодня встал на весы и чуть не упал. Три дня назад весил 85 КГ сейчас 79. А вы всё Гербалайф, Гербалайф! ;D
|
|
Сообщ.
#17
,
|
|
|
|
Цитата vot, 04.06.02, 12:31:19 Тебе уже ответили - "сколько пикселей влезет" - это и есть расстояние между точками. Вычисли разность по Х и разность по Y. Большее из них число даст именно "сколько влезет". То есть именно столько точек будет если я нарисую линию! так? |
|
Сообщ.
#18
,
|
|
|
|
Y-e-e-e-e-e-e-e-e-es!!!!!!!!!!!!!!1
|
|
Сообщ.
#19
,
|
|
|
|
А по теореме Пифагора нельзя пощитать....
представить всё это как прямой угол x1,y1 - координаты первой точки x2,y2 - координаты второй точки sizex=x2-x1 sizey=y2-y1 колличество точек = sqrt(sqr(sizex)+sqr(sizey)) |
|
Сообщ.
#20
,
|
|
|
|
Есть такой старый, добрый, алгоритм Брезенхама
Собственно вычиляешь длину по х и по у обоих точек, узнаешь что больше дх или ду, и в какую сторону надо двигаться (если с верху вниз то узнать слева на право или наоборот), записываель все это дело в вайл-ду и при помощи слопа двигаешь поинтер и по ка не дойдешь до конечной точки |
|
Сообщ.
#21
,
|
|
|
|
Если ты так будешь пить то вскоре тебе линия уже нужна не будет. ;)
|
|
Сообщ.
#22
,
|
|
|
|
хых. я помню примерно год назад делал так:
1. если линия параллельна одной из осей (х1=х2, или у1=у2), то просто циклом бацаешь 2. если же нет, составляем по координатам 2-х точек уравнение прямой и пробегаемся циклом от х1 до х2 (х1<х2) и рисуем -) однако если x2-x1 < y2-y1, то бежим циклом от у1 до у2 -) |
|
Сообщ.
#23
,
|
|
|
|
Цитата sourcer, 17.06.02, 18:03:25 А по теореме Пифагора нельзя пощитать.... представить всё это как прямой угол x1,y1 - координаты первой точки x2,y2 - координаты второй точки sizex=x2-x1 sizey=y2-y1 колличество точек = sqrt(sqr(sizex)+sqr(sizey)) Нельзя, т.к. на экране метрика — не евклидова, а городская. |