Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

Как вычислить arccos через arctan?   Найти похожие ветки 

 
Pweq   (2007-10-24 17:10) [0]

Подскажите, пожалуйста!


 
Сергей М. ©   (2007-10-24 17:11) [1]

Студент ?)


 
palva ©   (2007-10-24 17:17) [2]

{$APPTYPE CONSOLE}
uses Math;
var d: Double;
begin
 d := 0.2;
 writeln(arctan(sqrt(1-sqr(d))/d)); //  1.36943840600457E+0000
 // Проверяем:
 writeln(arccos(d));                //  1.36943840600457E+0000
 // Совпадает
end.


 
Pweq   (2007-10-24 17:48) [3]

А если d = 0?


 
@!!ex ©   (2007-10-24 17:54) [4]

> [3] Pweq   (24.10.07 17:48)

Сам не догадаешься?


 
Dmitry S ©   (2007-10-24 17:54) [5]

А когда косинус равен нулю?:)


 
palva ©   (2007-10-24 17:56) [6]

Тогда исправим код.
{$APPTYPE CONSOLE}
uses Math;
var d: Double;
begin
 d := 0.2;
 writeln(arctan2(sqrt(1-sqr(d)), d)); //  1.36943840600457E+0000
 d := 0.0;
 writeln(arctan2(sqrt(1-sqr(d)), d)); //  1.57079632679490E+0000
end.


 
tesseract ©   (2007-10-24 17:57) [7]


> А если d = 0?


pi/2


 
Jeer ©   (2007-10-24 18:03) [8]

<
> tesseract ©   (24.10.07 17:57) [7]


А если военное время и PI равно бесконечности ?
У студента и так уже заворот мозгов.


 
oldman ©   (2007-10-24 18:22) [9]


> Dmitry S ©   (24.10.07 17:54) [5]
> А когда косинус равен нулю?


В военное время при отсутствии прапорщиков...


 
Jimmy   (2007-10-24 19:31) [10]

Кстати, недавно столкнулся с тем, что ArcCos из модуля Math при аргументе чуть большем 1 выдает какое-то громадное число. Пришлось написать свой:
Function ArcCosMy(x:Real):Real;
begin
if x>=1  then x:=1;
if x<=-1 then x:=-1;
Result:=ArcCos(x);
end;
Будуте смеятнся надо мной или над ArcCos?


 
@!!ex ©   (2007-10-24 19:35) [11]

> [10] Jimmy   (24.10.07 19:31)

Над вами, ибо Cos не может принимать значения меньше -1 и больше 1, соответственно и ArcCos обрабатывать такие значения не должен.


 
Jimmy   (2007-10-24 19:41) [12]

Ей-Богу, не вру!


 
Petr V.Abramov   (2007-10-24 21:56) [13]

написать ф-цию arctan2arccos
как - в учебнике


 
@!!ex ©   (2007-10-25 21:32) [14]

Кстати, вот в целях общего развития сегодня написал. Работает на 30% быстрее стандартной реализации.
function FastArcCos(const X: Extended): Extended;
asm
 fld    X
 fld    X
 fmul
 fld1
 fsubr
 fsqrt
 fld    X
 fpatan
 fwait
end;



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

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
6-1174732046
S_T_E_P_A_N___
2007-03-24 13:27
2007.11.25
Динамическое создание компонентов Indy


11-1178263571
DVK
2007-05-04 11:26
2007.11.25
странности TKOLRadioBox


15-1192549756
vasIZmax
2007-10-16 19:49
2007.11.25
Вот не могу сообразить, как лучше сделать


8-1169983919
T54
2007-01-28 14:31
2007.11.25
Количество точек на дюйм - ?


15-1192726437
lak\proxy\
2007-10-18 20:53
2007.11.25
Проблема с Вордом