Форум: "Media";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
ВнизКак найти угол между отрезком и осью(любой ) Найти похожие ветки
← →
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 вся ветка
Форум: "Media";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c