Главная страница
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.018 c
2-1193854961
Miraj
2007-10-31 21:22
2007.11.25
перенос из базы в combobox без дубликации значений


2-1194260362
ProgRAMmer Dimonych
2007-11-05 13:59
2007.11.25
TMemoryStream (ограничения)


5-1163266828
Vasiliy
2006-11-11 20:40
2007.11.25
Как отработать DragAndDrop в DesignTime?


6-1164519806
DRtM
2006-11-26 08:43
2007.11.25
Как определить по редиректу реальное имя файла в сети


2-1193990873
Washington
2007-11-02 11:07
2007.11.25
Цвет Item a