Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #5  
Старый 05.12.2007, 14:56
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
Восклицание Матчасть

Вступление

Людей, что знают геометрию - много, просто уж на этот вопрос отвечать всем влом... тем более что это задачка из школы класса эдак 7-8,
достаточно знать, что такое синус и косинус...

Решение

Немного непонятно, как именно тебе надо достраивать до прямоугольника, но ладно, предлагаю такой вариант:

Прямоугольник - даны координаты двух его соседних вершин
( X1,Y1 и X2,Y2 ) , пусть расстояние между ними A, тогда длина другой стороны пусть будет B.

=> коорд. других вершин:

Код:
var X1,Y1,X2,Y2,X3,Y3,X4,Y4:integer;
     B:integer;
     Sn,Cs:real;

begin
 // вводишь значения X1,Y1,X2,Y2  - вершины и B - длина другой стороны
 Sn:=(Y1-Y2)/Sqrt( Sqr(X1-X2) + Sqr(Y1-Y2)  );
 Cs:=(X2-X1)/Sqrt( Sqr(X1-X2) + Sqr(Y1-Y2)  );
 
 X3:=Round(X2 - B*Sn);
 Y3:=Round(Y2 - B*Cs);

 X4:=Round(X1 - B*Sn);
 Y4:=Round(Y1 - B*Cs);

 Image1.Canvas.Polygon([Point(X1,Y1),Point(X2,Y2),
     Point(X3,Y3),Point(X4,Y4)] );


end;

Будет достраиваться слева по направлению от первой ко второй точке,
если надо иначе то в расчёте X3,Y3,X4,Y4 поставь вместо минусов плюсы
Ответить с цитированием
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:25.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025