Вниз
Скачать: CL | DM;

Как программно вычислить tg и ctg   Найти похожие ветки 

 
Тень   (2002-11-10 04:35) [0]

Как программно вычислить tg и ctg?


 
Николай Быков ©   (2002-11-10 05:21) [1]

ну это совсем просто

var
tg_alpha,ctg_alpha:real;
alpha:real; //угол альфа задается в радианах
...........
begin
tg_alpha:=sin(alpha)/cos(alpha);
ctg_alpha:=cos(alpha)/sin(alpha);
end;


 
mmb ©   (2002-11-10 09:12) [2]

можно ещё проще

tg_alpha := Tan(alpha);
ctg_alpha:= 1 / tg_alpha;

либо воспользуйся
SinCos(alpha, Sin_alpha, Cos_alpha);


 
AndreyAG ©   (2002-11-10 09:59) [3]

Код Николая Быкова нужно уточнить:
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;


 
Alx2 ©   (2002-11-10 10:28) [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 достаточно малая величина > машинного нуля


 
mmb ©   (2002-11-10 11:39) [5]

Вы не поняли есть готовая функция
вот её код
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;




 
mmb ©   (2002-11-10 11:40) [6]

находится в unit Math;


 
Alx2 ©   (2002-11-10 11:46) [7]

>mmb © (10.11.02 11:39)
С моей стороны речь была не о tan



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-69340
Новенький в Делфи
2002-11-12 19:52
2002.11.21
StringList1.LoadFromStream(MemoryStream1) - проблема


7-69586
USTAS
2002-09-19 10:09
2002.11.21
Как убрать Popup меню с десктопа?


4-69631
Saninsky
2002-10-10 19:45
2002.11.21
Запуск DOS приложений из Delphi


1-69320
Alexey
2002-11-12 14:06
2002.11.21
Уважаемые мастера


1-69262
S_Dimon
2002-11-11 23:34
2002.11.21
Ну вот нет у TLabel такого ивента




   Наверх