Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно вычислить 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо