![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Вообшем если я делаю
То по идее sin(0)=sin(180)=sin(360), Но выходит Sin(0)=0 нормально Sin(180)= Аш ![]() Sin(360)= -2,44921270764475E-16 Я предполагаю что тут виной всему DegToRad непрвильное конвертирование. Решение с целыми градусными углами то мне понятно X mod 180 А как быть если число не цело? ![]() |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
а теперь посмотри что выдаст этот код
![]()
математику учим... -------------------- Обижено школьников: 8 |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 4 Всего: 110 |
а что, собственно, не устраивает? погрешность? -------------------- qqq |
|||
|
||||
Ak47black |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Зачем мне косинус, тут обсуждаеться синус. Добавлено @ 12:36 Синус 180,1 то правильно находиться. Тогда почему 180 синус неправильно? Добавлено @ 12:42 То что синус 180 градусов = 1,22460635382238E-16 ,а не 0 |
||||
|
|||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
У меня погрешность получилась в -5.421-20
Это вообще несущественно. Ограничь точность 10-12 знаками и будет тебе 0 ![]() Добавлено @ 13:03
|
|||
|
||||
Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
А понятно теперь в чем дело.
![]() Это сообщение отредактировал(а) Ak47black - 30.11.2006, 13:05 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
1E-16 = 1 * 10^-16 = 0,0000000000000001
Это скорее математика, а не программирование. |
|||
|
||||
Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Большое спасиб Snowy, еше хотел-бы узнать : всетаки почему синус 0 и синус 180 немного различаеться? Я как помимаю в математике они полностью равны ?
![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
В математике они считаются логически-геометрическим путём.
А компьютер - машина. Ты переводишь градусы в радианы. Для этого используется иррациональное число пи. Его невозможно выразить с большей точностью. Потом мы умножаем, делим, вычисляем... Всё это накапливает погрешность. Отсюда и разница - не равны, потому что вычисления дают разную погрешность для разных чисел ещё ДО вычисления синуса. Да и само вычисление синуса не безгрешно. При плавающих вычисления погрешность есть всегда. Поэтому всегда нужно делать на неё поправку. Добавлено @ 13:22 А тут вообще просто. При умножении и делении нуля - всегда ноль. А 180 мы умнозаем на пи, потом делим на 180... Тут уже вылазит погрешность - результат уже не равен PI ![]() А потом мы ещё и синус считаем не из 0, а из длиииинного числа, которое ещё и с погрешностью. Погрешность совсем-совсем маленькая. Но она есть. |
|||
|
||||
Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Теперь всё понял 'конкретно'
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |