![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно вычислить tg и ctg
Тень © (2002-11-10 04:35:00)Как программно вычислить tg и ctg?
Alx2 (2002-11-10 11:46:00) [1]>mmb © (10.11.02 11:39)
С моей стороны речь была не о tan
mmb (2002-11-10 11:40:00) [2]находится в
unit Math;
mmb (2002-11-10 11:39:00) [3]Вы не поняли есть готовая функция
вот её код
function Tan(const X: Extended): Extended;
{ Tan := Sin(X) / Cos(X) }
asm
FLD X
FPTAN
FSTP ST(0) { FPTAN pushes 1.0 after result }
FWAIT
end;
Alx2 (2002-11-10 10:28:00) [4]>AndreyAG © (10.11.02 09:59)
>if cos(alpha)<>0 then
>if sin(alpha)<>0 then
if abs(cos(alpha))>eps then ..
if abs(sin(alpha))>eps then ..
где eps достаточно малая величина > машинного нуля
AndreyAG (2002-11-10 09:59:00) [5]Код Николая Быкова нужно уточнить:
var
tg_alpha,ctg_alpha:real;
alpha:real; //угол альфа задается в радианах
...........
begin
if cos(alpha)<>0 then
tg_alpha:=sin(alpha)/cos(alpha)
else
tg_alpha:=High(tg_alpha);
if sin(alpha)<>0 then
ctg_alpha:=cos(alpha)/sin(alpha)
else
ctg_alpha:=High(ctg_alpha);
end;
mmb (2002-11-10 09:12:00) [6]можно ещё проще
tg_alpha := Tan(alpha);
ctg_alpha:= 1 / tg_alpha;
либо воспользуйся
SinCos(alpha, Sin_alpha, Cos_alpha);
Николай Быков (2002-11-10 05:21:00) [7]ну это совсем просто
var
tg_alpha,ctg_alpha:real;
alpha:real; //угол альфа задается в радианах
...........
begin
tg_alpha:=sin(alpha)/cos(alpha);
ctg_alpha:=cos(alpha)/sin(alpha);
end;