Текущий архив: 2008.08.31;
Скачать: CL | DM;
Вниз
Вопрос о координатах Найти похожие ветки
← →
ПЛОВ © (2008-07-11 14:46) [0]Типо теоретический :)
Есть числа (реальные) обозначающие координаты неких объектов (xy или xyz, не важно). Они выражены, к примеру, в метрах (это так, чтобы можно было представить масштаб).
Необходимо, чтобы точность каждого такого числа была вплоть до каких-то там долей миллиметра даже если объект находится от начала координат на расстоянии тысяч парсеков (с астрономией все знакомы? :).
Естественно представить их в программе просто в виде одной переменной нельзя, т.к. потеряется точность. Пока придумал только такой способ решения задачи - для каждой координаты иметь несколько переменных, одна из которых хранит общее значение координаты (в парсеках, например), а остальные уточняющие значения вплоть до самых минимальных.
Может есть другие способы реализации? Объектов будет много :)
← →
Sergey13 © (2008-07-11 14:50) [1]Можно наверное хранить число и порядок.
2 и 6 = 2000000
← →
Ega23 © (2008-07-11 14:51) [2]
TCoord = record
parsecs : Longint;
meters : Longint;
nmeters : Longint;
end;
← →
Игорь Шевченко © (2008-07-11 14:52) [3]
> Необходимо, чтобы точность каждого такого числа была вплоть
> до каких-то там долей миллиметра даже если объект находится
> от начала координат на расстоянии тысяч парсеков
Жутко интересно, что за задача ?
← →
Рамиль © (2008-07-11 14:55) [4]
> Ega23 © (11.07.08 14:51) [2]
Боюсь в Longint 1 парсек в метрах не влезет.
> ПЛОВ © (11.07.08 14:46)
А практически какой смысл?
← →
wl © (2008-07-11 15:01) [5]BigInt
← →
ПЛОВ © (2008-07-11 15:03) [6]
> Можно наверное хранить число и порядок.
Знаков после запятой в первом числе может основательно не хватить :)
> Ega23 ©
Да, что-то наподобии этого, чтобы "диапазоны" перекрывались. Т.е. самое общее значение (парсеки) является как бы "началом координат" для уточняющих значений.
← →
Romkin © (2008-07-11 15:06) [7]Напомнило мне это рассказ, как математики с физиками многоугольник чертили :)
А измерять чем будешь? Рулетку уже припас? :)
Напиши, плиз, длину парсека в миллиметрах.
← →
Ega23 © (2008-07-11 15:09) [8]
> Боюсь в Longint 1 парсек в метрах не влезет.
3.08*10^16 метров
Ну BigInt. Или астрономические единицы, какие-нибудь.
Я про саму идею.
← →
Ega23 © (2008-07-11 15:09) [9]
> Напиши, плиз, длину парсека в миллиметрах.
3.08*10^19
← →
Zeqfreed © (2008-07-11 15:10) [10]3.08568025 × 10^19 :)
← →
Плохиш © (2008-07-11 15:12) [11]
> Ega23 © (11.07.08 15:09) [9]
> Zeqfreed © (11.07.08 15:10) [10]
Просили точность "до каких-то там долей миллиметра"...
← →
Romkin © (2008-07-11 15:13) [12]
> 3.08568025 × 10^19 :)
Это в миллиметрах? Не верю. Плюс-минус миллион километров, да? :D
← →
Alien1769 © (2008-07-11 15:15) [13]Есть одна Астрономическая Единица.
То есть растоние от Земли до Солнца.
Последний расчет в а.е. нужно умножить на растоние от Земли до Солнца.
Кажись так :)
← →
Правильный*Вася (2008-07-11 15:16) [14]
> Необходимо, чтобы точность каждого такого числа была вплоть
> до каких-то там долей миллиметра даже если объект находится
> от начала координат на расстоянии тысяч парсеков
интересно, для каких инженерных задач моежт понадобиться такая точность?
обычно погрешностями значительно пренебрегают
← →
Ega23 © (2008-07-11 15:16) [15]
> Это в миллиметрах? Не верю. Плюс-минус миллион километров,
> да? :D
Ну, если уж совсем формально к этому делу подходить, то парсек штука такая... В самом определении неточность зашита. Ибо при изменении орбиты Земли (увеличении или уменьшении), длина парсека будет меняться.
← →
Правильный*Вася (2008-07-11 15:21) [16]
> растоние от Земли до Солнца.
между центрами или поверхностями?
← →
Romkin © (2008-07-11 15:22) [17]Ega23 © (11.07.08 15:16) [15] Да нет, а.е. принята константой, с точностью до метра. Поскольку парсек определяется через нее, это дает погрешность примерно 200 км. Математически.
http://ru.wikipedia.org/wiki/Астрономическая_единица
http://ru.wikipedia.org/wiki/Парсек
Точнее значения просто нет и не нужно. Даже до миллиона км - вполне достаточная точность. Звезды-то движутся.
Так что задача вообще не имеет практического смысла.
← →
ПЛОВ © (2008-07-11 15:25) [18]Мне это нужно для игры :) А то получается, что чем дальше объект от начала координат, тем с меньшей точностью известно его местоположение. Это бред - точность должна быть одинаковой, даже если он на краю вселенной :D
← →
Romkin © (2008-07-11 15:25) [19]Ну есть TBCD, туда хоть поперечник галактики в миллиметрах влезет. Но зачем?!
← →
Romkin © (2008-07-11 15:26) [20]
> А то получается, что чем дальше объект от начала координат,
> тем с меньшей точностью известно его местоположение.
А нафига? :)))
С меньшей абсолютной точностью, но относительная-то одинаковая!!! И это не бред.
← →
Romkin © (2008-07-11 15:27) [21]И вообще, ты с края вселенной на корабле лететь будешь? С какой скоростью? :)))
← →
Правильный*Вася (2008-07-11 15:28) [22]
> ПЛОВ © (11.07.08 15:25) [18]
ну, это даже изюминку вносит :)
хотя перемецать начало координат или заводить их несколько с разной сеткой никто не мешает
← →
БарЛог © (2008-07-11 15:28) [23]Я бы в динамическом массиве хранил число, выраженное в минимальных долях.
← →
ПЛОВ © (2008-07-11 15:32) [24]
> И вообще, ты с края вселенной на корабле лететь будешь?
> С какой скоростью? :)))
У меня есть очень мощный корабль. Он летает в гиперкосмосе намного быстрее этих жалких 300000 км/сек :D
> Я бы в динамическом массиве хранил число, выраженное в минимальных
> долях.
Поподробнее, плиз )
← →
Romkin © (2008-07-11 15:36) [25]
> У меня есть очень мощный корабль. Он летает в гиперкосмосе
> намного быстрее этих жалких 300000 км/сек :D
И что? Скорость у тебя тоже в миллиметрах задается?
Какая мне разница, находится он на расстоянии безднадцать дурильонов км или на пару а.е. подальше?
Когда прилетит - тогда и померяем.
← →
Правильный*Вася (2008-07-11 15:37) [26]
> Когда прилетит - тогда и померяем.
он боится попасть в звезду на таких скоростях
← →
Romkin © (2008-07-11 15:38) [27]Дык когда поближе подлетит - точнее все будет. а издаля-то зачем целиться?
← →
Anatoly Podgoretsky © (2008-07-11 15:39) [28]> ПЛОВ (11.07.2008 15:25:18) [18]
Абсолютная или относительная.
А что для хранения используешь.
← →
ПЛОВ © (2008-07-11 15:40) [29]Проблемы могут быть с отображением объектов. Например, два объекта удалены друг от друга на 120 км, а от "центра вселенной" на 120 парсек. Как их отрисовать на банальном канвасе? )) С погрешностью +/- миллион километров?
← →
Правильный*Вася (2008-07-11 15:41) [30]
> Romkin © (11.07.08 15:38) [27]
а мож у него горючки на один прыжок в гиперкосме
← →
Ega23 © (2008-07-11 15:42) [31]
> Мне это нужно для игры :) А то получается, что чем дальше
> объект от начала координат, тем с меньшей точностью известно
> его местоположение. Это бред - точность должна быть одинаковой,
> даже если он на краю вселенной :D
>
Будь проще: побей всю голактегу на зоны. Расстояния между зонами и размер зон измеряй в "парсеках". А вот расстояния между объектами внутри зоны - в каких-то других единицах.
← →
Правильный*Вася (2008-07-11 15:43) [32]
> Как их отрисовать на банальном канвасе?
дополнительная система координат с центром, например, на одном из объектов
но это для случая 120 км (как ты их получишь, если у тебя каждая из координат +-мильон, не ясно)
← →
Правильный*Вася (2008-07-11 15:44) [33]
> Ega23 © (11.07.08 15:42) [31]
это [22]
← →
Romkin © (2008-07-11 15:45) [34]
> Проблемы могут быть с отображением объектов. Например, два
> объекта удалены друг от друга на 120 км, а от "центра вселенной"
> на 120 парсек.
Обыкновенно: бери локальную точку в какой-то области, говори, что эта точка удалена от центра "вселенной" ровно на стока-то, и от нее уже измеряй все. Делов-то!
← →
Petr V. Abramov © (2008-07-11 15:50) [35]мне напомнило, как на заводе отсчитывали 567,892 кг сахара - 5 мешков, 7,8 кг на весах и 0,92 кг на аптекарских весах.
← →
ПЛОВ © (2008-07-11 15:51) [36]Много систем координат тоже не есть хорошо, особенно если можно обйтись одной. Вообщем, попробую реализовать как придумал, с уточняющими значениями для каждой координаты. Всем спасибо.
← →
ПЛОВ © (2008-07-11 15:54) [37]
> Petr V. Abramov © (11.07.08 15:50) [35]
Это как раз мой случай ))
← →
Ega23 © (2008-07-11 15:54) [38]
> 567,892 кг сахара - 5 мешков
В мешке 112 кг????
← →
БарЛог © (2008-07-11 15:55) [39]ПЛОВ © (11.07.08 15:32) [24]
>> Я бы в динамическом массиве хранил число, выраженное в минимальных
>> долях.
> Поподробнее, плиз )
А куда уж подробнее? Требуется хранить огромное число, берём и храним :)
← →
БарЛог © (2008-07-11 15:56) [40]> А куда уж подробнее? Требуется хранить огромное число, берём и храним :)
Разбиение на всякие "зоны" неэкономично.
← →
Petr V. Abramov © (2008-07-11 15:56) [41]
> Ega23 © (11.07.08 15:54) [38]
100 или 50, не помню.
← →
Petr V. Abramov © (2008-07-11 15:58) [42]
> ПЛОВ © (11.07.08 15:54) [37]
> Это как раз мой случай ))
дык в мешке-то +- грамм 100 уж точно, так что мучения с аптекарскими весами - бессмыслены
← →
Правильный*Вася (2008-07-11 15:59) [43]
> А куда уж подробнее? Требуется хранить огромное число, берём
> и храним :)
а если размерности массива не хватит? ;)
> мне напомнило, как на заводе отсчитывали 567,892 кг сахара
> - 5 мешков, 7,8 кг на весах и 0,92 кг на аптекарских весах.
интересно, а мешки при засыпке с какой точностью взвешивают? хотя бы до 20г? иначе профанация получается
← →
ПЛОВ © (2008-07-11 16:00) [44]
> дык в мешке-то +- грамм 100 уж точно, так что мучения с
> аптекарскими весами - бессмыслены
Ну я имел в виду способ реализации в целом )
← →
Ega23 © (2008-07-11 16:08) [45]
> 100 или 50, не помню.
Тогда у тебя не сходится.
> интересно, а мешки при засыпке с какой точностью взвешивают?
> хотя бы до 20г? иначе профанация получается
Недобросовестные поставщики белой смерти засыпают в мешки влажный сахар.
← →
БарЛог © (2008-07-11 16:08) [46]Правильный*Вася (11.07.08 15:59) [43]
> А куда уж подробнее? Требуется хранить огромное число, берём
> и храним :)
а если размерности массива не хватит? ;)
Выделяем память требуемого размера (хоть 100Мб), Сохраняем начальный адрес, сохраняем конечный. Тот же самый массив :)
← →
Игорь Шевченко © (2008-07-11 16:10) [47]Measure with micrometer,
Mark with chalk,
Cut with axe
← →
Petr V. Abramov © (2008-07-11 16:47) [48]
> Ega23 © (11.07.08 16:08) [45]
> Тогда у тебя не сходится.
ну и фиг с ним :)
> Недобросовестные поставщики белой смерти засыпают в мешки
> влажный сахар.
отсюда и цифра 567,892 и пр. получаются, что кол-во пересчитывают н текущую влажность
:)
Страницы: 1 2 вся ветка
Текущий архив: 2008.08.31;
Скачать: CL | DM;
Память: 0.59 MB
Время: 0.059 c