Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нарисовать линию под углом. 
:(
    Опции темы
Peha
  Дата 31.3.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.1.2008
Где: C:\Украина&# 092;Северо-запад

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



Здравствуйте.
Есть исходные данные:
1. Canvas формы.
2. Начальные точки x1, y1 (для Form1.Canvas.MoveTo(x1,y1); )
3. - длина линии.
4. a - угол поворота, относительно вертикали.

Вопрос: как найти x2, y2 чтоб сделать Form1.Canvas.LineTo(x2,y2); ?

P.S. Уже много времени прошло со времен школы, не отсылайте туда для решения уравнения прямой, голову всю изломал... Очень нужно...
PM MAIL WWW ICQ   Вверх
Bitter
Дата 31.3.2010, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

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



x2 = x1+ sin(a)*r
y2 = y1+ cos(a)*r
PM MAIL ICQ Skype   Вверх
Peha
Дата 12.4.2010, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.1.2008
Где: C:\Украина&# 092;Северо-запад

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



Немножко не так, я просто уже вообще позабывал все что можно и нельзя...
Короче нашел как нарисовать, вот:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  x1, x2 : integer;
  y1, y2 : integer;
  sinA, cosA : Real;
  a : real;
  r : integer;

begin
  x1 := 200;
  y1 := 200;
  Form1.Canvas.MoveTo(x1, y1);

  a := StrToInt(Edit1.Text) * (pi/180); // Так как аргументом функции может быть только радиан,
                                        // а не угол в градусах, то  переводим

  sinA := sin(a);
  cosA := cos(a);

  r := 1000;
  x2 := round (sinA * r);
  y2 := round (cosA * r);

  Form1.Canvas.LineTo(x1 + x2, y1 + y2);
end;


Только будет рисовать в зеркальном отображении.

PM MAIL WWW ICQ   Вверх
Bitter
Дата 13.4.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

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



Peha, а я что написал?
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




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


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

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