Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Перевод числа в градусы


Автор: Serhik_z 5.3.2005, 13:28
Как перевести выражение в градусы по косинусу.
Код

i:=137.2431843264
v:=(3*42)/(i-2*3); // получили число 0.960049854 - долно быть 16 градусов 15 мин
v:=cos((v/pi)/180)*pi;// не получается     v:=arccos((v*pi)*180)/pi;// не проходит

smile

Автор: Snowy 5.3.2005, 13:40
Если я еще помню математику, то градусы=радианы*180/pi
Соответственно 0.960049854 будет что-то в районе 55 градусов.

Автор: Serhik_z 5.3.2005, 15:16
Snowy - Спасибо.
Snowy - не совсем то, что мне нужно.
0.960049854 вводим в калькулятор виндосовский.
далее ставим галочку в lnv (обратная функция градусов) и нажимаем cos
получаем результат 16. 25 тоесть 16 градусов 15 минут
радианы - перевожу, а вот далее возникла делема.
ничего в голову не идет.
Код

i:=137.2431843264
v:=(3*42)/(i-2*3); // получили число 0.960049854 - долно быть 16 градусов 15 мин
v:=cos((v*pi)*180)/pi;//

по арктангенсу вычислял. Правильно.
Код

// вычисление
v:=arctan((t*z)/((w-t/2)*pi))*180/pi; // Угол наклона

smile

Автор: Snowy 5.3.2005, 15:49
0.960049854 это значит у тебя значение косинуса.
И что ты хочешь из этого получить? Аккосинус в градусах?
Тогда так:
Код

v:=arccos(v)*180/pi;

Если не то, то сформулируй свой вопрос покорректней.
Какие у тебя исходные данные и что ты хочешь получить.

Автор: _hunter 5.3.2005, 16:09
перевод градусов вида float в градусы вида град / мин / сек
coord = fabs(coord);
grad = floor(coord + 0.000000000001);
min = floor((coord - grad) * 60 + 0.000000000001);
sec = floor((coord - grad - min / 60.0) * 3600 + 0.5);
ну а радианы в градусы, думаю, сам переведеш

Автор: Serhik_z 5.3.2005, 17:06
Snowy - Спасибо. smile
v:=arccos(v)*180/pi; - компилятор выдает ошибку на arccos
проходит только v:=cos(v)*180/pi;

Автор: _hunter 5.3.2005, 17:10
Math подключил?

Автор: Serhik_z 5.3.2005, 19:22
hunter - smile
"Math" даже и не подумал о модуле.
Спасибо. Теперь все работает.
smile так бы и долбился...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)