Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Как найти угол между отрезком и осью(любой )   Найти похожие ветки 

 
TRyaSS ©   (2006-04-25 09:49) [0]

хоть Х, хоть У.Подскажите плз. Даны только координаты точек...


 
AbrosimovA ©   (2006-04-25 12:14) [1]

procedure TForm1.Button1Click(Sender: TObject);
var a: extended;  // óãîë â ãðàäóñàõ
   y1,x1,y2,x2: extended; //êîîðäèíàòû òî÷åê
begin
(*
    y1 = k*x1 + b; y2 = k*x2 + b ->
 -> b = y1 - k*x1; b = y2 - k*x2 ->
 -> y1 - k*x1 = y2 - k*x2 ->
 -> y1 - y2 = k * (x1 - x2) ->
 -> k:=(y1-y2) / (x1-x2) = tan(a) ->
 -> a = arctan(k) = arctan((y1-y2) / (x1-x2))
*)
 DecimalSeparator:=".";
 y1:=0.0;
 x1:=0.0;
 y2:=4.0;
 x2:=3.0;
 a:=RadToGrad(arctan((y1-y2) / (x1-x2)));
 Caption:=FloatToStr(a) // ~ èñêîìûé óãîë ñ îñüþ X
end;


 
AbrosimovA ©   (2006-04-25 12:18) [2]

uses Math;

procedure TForm1.Button1Click(Sender: TObject);
var a: extended;  // угол в градусах
  y1,x1,y2,x2: extended; //координаты точек
begin
(*
   y1 = k*x1 + b; y2 = k*x2 + b ->
-> b = y1 - k*x1; b = y2 - k*x2 ->
-> y1 - k*x1 = y2 - k*x2 ->
-> y1 - y2 = k * (x1 - x2) ->
-> k:=(y1-y2) / (x1-x2) = tan(a) ->
-> a = arctan(k) = arctan((y1-y2) / (x1-x2))
*)
DecimalSeparator:=".";
y1:=0.0;
x1:=0.0;
y2:=4.0;
x2:=3.0;
a:=RadToGrad(arctan((y1-y2) / (x1-x2)));
Caption:=FloatToStr(a) // ~ искомый угол к оси X
end;


 
a22 ©   (2006-04-25 16:06) [3]

нет, ну это ж за 8 или 9 класс математика

  /|
c/ | b
/g_|
 a

c, a, b - стороны треугольника, g - угол... вот ежели есть точки отрезка, значит есть и a, b
далее tg(g) = b/c -> g = arctg(b/c)
это угол с осью Х, есть нужен с осью Y - ну, картинку треугольника мысленно перевернуть надо. наоборот в частном получится


 
TRyaSS ©   (2006-04-25 16:41) [4]

Спасибо. че-то из головы вылетело ...


 
a22 ©   (2006-04-26 17:37) [5]

млин я вообще еще и очепятался со сторонами, b/a



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
3-1159949002
Opilki_Inside
2006-10-04 12:03
2006.12.10
Как грамотно отменить изменения в конкретном поле в TADOQuery?


3-1159976497
Sanya_BBB
2006-10-04 19:41
2006.12.10
Как внести данные сразу в главную и дочернюю таблицы. В сетевой Б


6-1153716134
Kacnep
2006-07-24 08:42
2006.12.10
Indy предварительная проверка на разрешенные IP для подключения


2-1164309199
Goric
2006-11-23 22:13
2006.12.10
Дата/время


11-1139899673
BaryVetaL
2006-02-14 09:47
2006.12.10
Проект VCL2KOL