![]() |
|
![]() ![]() ![]() |
|
Z_P |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 4.10.2003 Где: это я? Репутация: нет Всего: нет |
Помогите написать алгоритм для перевода в прямую, из двух данных точек Y и X, вроде бы формула такая была, а потом как сравнить где лежит определенная точка ниже или выше этой прямой?
![]() |
|||
|
||||
Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: 2 Всего: 32 |
Помоему, предложение несколько несвязно... что-то я ничего не понял -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Z_P Если на плоскости, то:
y=ax+b x=(y2-y1)/(x2-x1) b находишь при уже известном х из какой-нибудь точки. Сравнение выше/ниже прямой точка: подставляешь х точки в уравнение, сравниваешь у из уравнения и у точки. Это нужно было? |
|||
|
||||
Z_P |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 4.10.2003 Где: это я? Репутация: нет Всего: нет |
December так в общем-то, на плоскости надо, даны две точки (x1,y1), (x2,y2)
так а, b я чето не совсем понял как его из X получить? |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Из y=a*х+b
b=y1-a*х1 или b=у2-а*х2 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
брезенхам вам поможет господа
![]() -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
oleg1973, Брезенхем конечно чел хороший,но кажется сейчас существуют более быстрые алгоритмы?
|
|||
|
||||
frost |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 20.10.2003 Где: г. Королёв М.о., м-рн Комитетский лес, д.5, кв.40 Репутация: нет Всего: нет |
АГ. Очхен просто. А как должно выглядеть уравнение?
Так: (x0 - x) / a = (y0 - y) / b - тут (x0, y0) - точка на прямой, а (a, b) - направляющий вектор (a и b могут быть равны 0), или так: Ax + By + C = 0? Кстати, ур-е с угловым коэффициентом не подходит для прямой, параллельной оси Oy. Направляющий вектор находится по этим двум точкам, точку на прямой можно взять одну из них. Это сообщение отредактировал(а) frost - 2.11.2003, 21:01 |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
Это лекции моего преподователя по основам компьютерной графики. Кому интресно - можете почитать, там много полезного. В частности алгоритм Брезенхема с полной реализацией на Паскале.
|
|||
|
||||
GePo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 30.3.2003 Где: Москва Репутация: нет Всего: 3 |
Уравнение прямой: A*x + B*y + C = 0
Есть две точки (x1, y1) и (x2, y2). Вычисляем коэфициенты: A := y1 - y2 B := x2 - x1 C := x1*y2 - x2*y1 Надо определить, выше или ниже точка M(x0, y0) относительно прямой - считаешь выражение A*x0 + B*y0 + C и по знаку определяешь положение. Опытным путем определишь какой знак - какая полуплоскость. Вроде выше-плюс, ниже - минус. Могу ошибаться --------------------
|
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
Модератор: Оффтоп выделил в отдельную тему...
-------------------- qqq |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |