Здравствуйте, netch80, Вы писали:
N>Здравствуйте, jazzer, Вы писали:
J>>>>Градусы хороши своей целочисленностью.
N>>>Не целочисленностью, конечно же — вон Земля наклонена примерно под 23.45 градусов (23 градуса 27 минут). А значительно большей естественностью для человека. Анализировать внутри программы поворот на 30 градусов как-то проще, чем на 0.52 радиана.
J>>Нет, именно целочисленностью. Всякие градусы типа 45, 90, 180, 360 имеют вполне однозначное толкование, в отличие от иррационального пи, которое непонятно с какой точностью записывать.
J>>Например, поворот картинки на 180 тривиален, а на пи — попробуй еще разберись, что ошибка в 24-м знаке — это ошибка представления, а не то, что тебе нужно именно на такой вот кривой угод повернуть.
N>Твоя идея понятна, но не приемлема:
N>1. То, о чём ты говоришь, фактически означает не "целое число градусов", а "целое конкретное число градусов из набора фиксированных значений, которые имеют свой отдельный смысл" (180 — пол-круга, 90 — четверть круга или прямой угол, и так далее). Потому что поворот на 180, например, чётко определён именно в градусах как половина круга и это имеет смысл тем, что упрощает реализацию; а вот поворот на 25 или 26 градусов у тебя будет одинаково трудоёмок что в радианах, что в градусах.
ну то есть в основном одинаково трудоемко, но в градусной мере есть выделенные точки, в которых радикально менее трудоемко.
Стало быть, градусы лучше, чем радианы; непонятно, почему ты говоришь, что идея неприемлема
N>2. В контексте исходной статьи это всё не имеет значения — задать самолёту разворот на 180 градусов, на 3.14 радиана или 3.15 — всё равно воздушные потоки и прочие левые факторы внесут свою коррективу, и на половине поворота (скорее даже раньше) придётся это исправлять.
Это да. В этой конкретной задаче никакой разницы.
J>>Естественность для человека тут ни при чем, просто целые радианы практического смысла не имеют никакого, в отличие от целых градусов (именно потому что круг поделили на целое количество частей).
N>Целые радианы имеют значительно больше практического смысла, чем целые градусы. Радианы не только не зависят от того, сколько у тебя пальцев или чем ты думаешь — они упрощают практически все тригонометрические формулы. Иначе бы их не вводили. А градусы — это индивидуальны.
Да ладно. Все наоборот. Раз ты завёл речь о тригонометрии — чему равен синус 180 градусов? а синус 3.1415926? а синус 3.1415926535?
Формулам пофиг, там все с точностью до множителя, а вот в реальной машинной жизни все сильно портится, потому что этот множитель иррационален и непредставим в десятичной записи (вернее, ни в какой разрядной записи непредставим).
N>Не знаю, в курсе ли ты, но есть так называемые "грады", коих в прямом углу не 90, а 100. Они приняты в ряде специфических областей инженерии. И практически они не сильно хуже. А вот радианную меру ты на 1.2 или 0.9 не умножишь — чушь получится.
В курсе. и градусы, и грады лучше радианов, именно потому что целочисленные.
N>А в компилируемых языках можно это возложить на компилятор. Просто не припекло.
Мороки много просто. Есть же Boost.Parameter.