![]() |
|
|
![]()
|
|
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Есть координаты двух точек. На одном конце этого отрезка нужно нарисовать стрелку по заданной длине и ширине (получить координаты двух точек)
![]() |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 1 Всего: 37 |
Если есть возможность использовать GDI+, то там такое уже есть. Если нет - то просто возьми точку на отрезке на нужном расстоянии от конца и поверни относительно него на нужный угол по часовой и в обратном направлении
Вот на всякий случай оператор поворота на угол А !cosA -sinA! ! x ! !sinA cosA! * ! y ! ЗЫ а вообще тема обсуждалась пару недель назад... тока найти чего то не могу Это сообщение отредактировал(а) Sartorius - 4.12.2006, 16:18 |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
|
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Извини, на Дельфи. l- длинна концов стрелки. С остальным, думаю, проблемм не будет? СУВ, SoWa. -------------------- Всем добра |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Немножко тяжело разобраться уже в готовом коде.
|
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Математикой не умею.
Значит так. Берем координаты конца стрелки и по синусам/косинусам определяем координаты вершинок отрезков. Рассматриваются 4 случая, когда вершина стрелки в каждой из четвертей, там значения синусов и косинусов по знакам разные. Все делалось сперва на обрывке бумажки, а потом уж в компе Удачи! -------------------- Всем добра |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Можешь выложить бумажку?
|
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ууу. Это я два года назад делал
Все просто. Берешь точку. По формуле l*sin(x) и l*cos(x) получаешь изменения координат для концов стрелочек. Прибавляешь их с учетом знака(зависит от четверти) к координатам конца отрезка. А тебе суть понять важно или программу? Если алгоритм, то завтра почеркаюсь и выложу. -------------------- Всем добра |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Суть я тоже понимаю
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
чего-то я ничего не понимаю... алгоритм описан, если что-то в нём непонятно, то надо сказать что, иначе никто не сможет помочь... -------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |