Вниз
Скачать: 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 вся ветка

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



Память: 0.48 MB
Время: 0.014 c
2-1193813394
Morrah
2007-10-31 09:49
2007.11.25
Выполнение кода Delphi, приведенного в качестве аргумента


6-1174982246
skye
2007-03-27 11:57
2007.11.25
Game Monitor


15-1193284803
vajo
2007-10-25 08:00
2007.11.25
Не срабатывает PHP скрипт


15-1192464844
oxffff
2007-10-15 20:14
2007.11.25
Yield средствами Delphi. За и против.


2-1193745723
Washington
2007-10-30 15:02
2007.11.25
Шрифт в ListBox е




   Наверх