Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование стрелочки, Рисование стрелочки 
V
    Опции темы
JTOne
Дата 29.4.2007, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 21.4.2007
Где: http://jthotblog. blogspot.com/

Репутация: нет
Всего: нет



Подскажите как нарисовать стрелочку, т.е. 1 линию я рисую drawLine(x1,y1,x2,y2), потом мне нужно нарисовать еще две линии которые будут делать из моей линии стрелочку, логично предположить что две начальные координаты будут совпадать с двумя первыми мое линии, а как найти второй x и y.

Ту незадача в том, что я не знаю под каким углом будет лежать моя линия, я перехожу из декартовой в полярную систему и нахожу свои x и y, но когда линия относительно вертикальная что то даже похоже получается smile.gif, но когда я рисую горизонтальную 2 линии мое стрелочки уходят кудато, подскажите че делать?

Вот код:

Код

d=Math.sqrt( Math.pow(x2-x1,2)+Math.pow(y2-y1,2) );
ygolCos=Math.abs((x2-x1)/d);
ygolSin=Math.abs((y2-y1)/d);

int ny=1;


if(y1<y2)
ny=-1;
else
ny=1;



float f1x2=Float.valueOf(String.valueOf(ny*40*(ygolCos+Math.cos(20))+(x2+100)));
float f1y2=Float.valueOf(String.valueOf(ny*40*(ygolSin+Math.sin(20))+(y2+100)));

float f2x2=Float.valueOf(String.valueOf(ny*40*(ygolCos-Math.cos(20))+(x2+100)));
float f2y2=Float.valueOf(String.valueOf(ny*40*(ygolSin-Math.sin(20))+(y2+100)));



g.drawLine(x2+100,y2+100,Math.round(f1x2),Math.round(f1y2));//линии стерлочек
g.drawLine(x2+100,y2+100,Math.round(f2x2),Math.round(f2y2));//линии стерлочек




g.drawLine(x1+100,y1+100,x2+100,y2+100);//основанная линия

PM MAIL WWW IM Skype GTalk Jabber AOL YIM MSN   Вверх
leniviy
Дата 29.4.2007, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



Это чего, C#?
PM MAIL   Вверх
leniviy
Дата 29.4.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



Код

            const float ostrota = 0.25;
            const float ostrie = 20;
            float f1x2 , f1y2, f2x2, f2y2;
            float ugolstrelki = Math::Atan2( y2-y1 , x2-x1 );
            f1y2 = Math::Sin(ugolstrelki + ostrota + Math::PI )*ostrie + y2 + 100 ;
            f1x2 = Math::Cos(ugolstrelki + ostrota + Math::PI )*ostrie + x2 + 100 ;
            f2y2 = Math::Sin(ugolstrelki - ostrota + Math::PI )*ostrie + y2 + 100 ;
            f2x2 = Math::Cos(ugolstrelki - ostrota + Math::PI )*ostrie + x2 + 100 ;


только переделай в свой язык
PM MAIL   Вверх
JTOne
Дата 29.4.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 21.4.2007
Где: http://jthotblog. blogspot.com/

Репутация: нет
Всего: нет



Спасибо, вобще это была ява!

Это сообщение отредактировал(а) JTOne - 29.4.2007, 16:36
PM MAIL WWW IM Skype GTalk Jabber AOL YIM MSN   Вверх
Daevaorn
Дата 29.4.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Цитата(JTOne @  29.4.2007,  17:24 Найти цитируемый пост)
Спасибо, вобще это была ява!

И что она делает в разделе С++? Переношу.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0618 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.