Показать сообщение отдельно
  #2  
Старый 15.06.2015, 09:12
Zmeo Zmeo вне форума
Прохожий
 
Регистрация: 15.06.2015
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Есть какие то гугления и нароботки

Например нашёл процедуру создания треугольника.



Код:
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c : integer;
  t1, t2, t3 : TPoint;
  ugol : double;
begin
  a := 200;
  b := 200;
  c := 350;
  if (a+b>c) and (b+c>a) and (a+c>b) then begin
    Memo1.Lines.Append('может быть такой!');
    t1.x := 0;
    t1.y := 0;
    t2.x := a;
    t2.y := 0;

    ugol := arccos( (sqr(b) - sqr(a) - sqr(c)) / (2*a*c) );
    t3.x := - trunc(c* cos(ugol));
    if t3.x < 0 then begin
      // сдвигаем весь треугольник по оси X
      t1.x := t1.x - t3.x;
      t2.x := t2.x - t3.x;
      t3.x := t3.x - t3.x; // кстати, тут должен ноль получится...
    end;
    t3.y := trunc(c* sin(ugol));
    Canvas.Polygon([t1, t2, t3]);

    Memo1.Lines.Append('X1, Y1 = '+IntToStr(t1.x)+' , '+IntToStr(t1.y));
    Memo1.Lines.Append('X2, Y2 = '+IntToStr(t2.x)+' , '+IntToStr(t2.y));
    Memo1.Lines.Append('X3, Y3 = '+IntToStr(t3.x)+' , '+IntToStr(t3.y));
  end
  else
    Memo1.Lines.Append('НЕ Может Быть!');

end;
Ответить с цитированием