Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.02.2014, 02:09   #1
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию Cos(180) не равен -1

Код:
ShowMessage(FloatToStr(cos(180)));
Цитата:
-0.59846006905
Как добиться того, что бы cos(180) = 1 ?
Почему возвращает -0.59846006905 ?
ZBEP вне форума
Старый 28.02.2014, 02:14   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Функция cos принимает значения угла в радианах. Замените 180 на pi.
Streletz вне форума
Старый 28.02.2014, 02:14   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Углы задаются не в градусах, а в радианах.

UPD
Опоздал
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума
Старый 28.02.2014, 02:21   #4
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию

Точно, спасибо!
Код:
ShowMessage(FloatToStr(cos(180  *Pi/180)));
Вот так как надо работает
ZBEP вне форума
Старый 28.02.2014, 02:32   #5
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Радость

Пожалуйста!
Streletz вне форума
Старый 28.02.2014, 02:35   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от ZBEP Посмотреть сообщение
Точно, спасибо!
Код:
ShowMessage(FloatToStr(cos(180  *Pi/180)));
Вот так как надо работает
Только до поры до времени.
northener на форуме
Старый 28.02.2014, 02:51   #7
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Только до поры до времени.
Если речь идёт только об угле 180 градусов, то отработает в любом случае.
Для других углов существует, в частности, GradToRad из модуля Math.
Streletz вне форума
Старый 28.02.2014, 03:31   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Если речь идёт только об угле 180 градусов, то отработает в любом случае.
Уверен на все 100% на все времена?
А про "казнить нельзя помиловать" слышал когда-нибудь?
northener на форуме
Старый 28.02.2014, 11:26   #9
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
А про "казнить нельзя помиловать" слышал когда-нибудь?
Простите, но это не имеет совершенно никакого отношения к теме!
Если код ТС, как Вы считаете, не надёжен, то объясните почему и приведите пример надёжного кода. Раскройте тему, приведите объективные аргументы и факты, а не совершенно посторонние фразы.
Streletz вне форума
Старый 01.03.2014, 05:26   #10
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию

Проверил результаты с "целыми" углами от 0 до 360, возвратило правильные значения во всех 360-ти случаях (Угол * Pi / 180).

Посмотрел GradToRad, это - Угол * Pi / 200.
Полученное значение, естественно, отличается от того, что нужно.

П.с.
Цель была в том, что бы рассчитывать конечное положение вершин фигуры на оси координат при повороте фигуры на заданный угол, для этого необходимо было получить косинус.
ZBEP вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сдать нужно в понедельник. Не понимаю, как вычислить значение этого выражения: S=sin(x+cos(2x-sin(3x+cos(4x+sin(5x-cos(6x+...).. n7camomile Помощь студентам 5 15.12.2013 22:44
Вычислить y=cos(1+cos(2+...+cos(39+cos(40)... )) Лина55 Помощь студентам 6 15.04.2013 18:08
переворот на 180 prostonick Свободное общение 5 19.07.2012 22:09
Рекурсия. Вычислить рекурсивно функцию вида y=cos(x)+cos(x^2)+cos(x^3)+...+cos( x^n). мария71 Паскаль, Turbo Pascal, PascalABC.NET 4 31.03.2012 23:17
вычислить: У=cos(x)+cos(x)*(x)+ cos(X)*(X)*(X)+...+cos(X)(в n степени) КАША Помощь студентам 20 01.11.2010 17:34