Вниз
Скачать: 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
6-69466
Slava V.
2002-09-23 16:32
2002.11.21
Как разорвать текущее соединение с Интернет?


3-69095
Tornado
2002-10-24 10:46
2002.11.21
Убрать пробел


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


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


1-69395
micha
2002-11-10 18:46
2002.11.21
Написание дизайнера




   Наверх