anonymous@RULINUX.NET~# | Last login: 2024-12-29 12:20:08 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Talks | [RSS] |
есть два варианта решения, но сначала что и как и где считается:
вот фотка самолёта http://wikimapia.org/#lat=56.1651248&lon=37.8676629&z=16&l=1&m=b
тень от самолёта в 533 метрах чуть левее. там где на карте написано "СНТ Импульс" (чтобы убрать название надо один раз нажать + на карте, тогда название "СНТ Импульс" исчезнет и будет более менее видна тень)
1) собственное мое решение
зная длину тени от деревьев(там по ссылке есть в левом углу измеритель расстояния, линеечка такая желтая между двумя точками) и среднюю высоту деревьев (я брал 15 метров) можно узнать через треугольник угол, под которым солнце дает тень дерева ( следовательно и от самолета ). Зная этот угол и зная расстояние между самолетом и его тенью можно узнать высоту, на которой летел этот самолет, у мну получилось вот что
[vilfred@observ ~]$ perl -e 'print 533*sin(atan2(15,9))," метров\n";'
457.043729404786 метров
[vilfred@observ ~]$
где 457.043729404786 высота, на которой самолет летит, наверное +- 100 или 200 метров...
2) и другое решение
Откуда sin?
Отношение высоты к расстоянию до тени равна тому же отношению для деревьев.
то есть (533 / 9) * 15 = 888 метров.
[ss ~]$ perl -e 'print "888 метров\n";'
888 метров
[ss ~]$
собственно что заинтересовало, а разве тут можно использовать линейную пропорцию? тут ведь в треугольнике длина катета определяется не подобием, а величиной угла, который выразить можно только через синусы, косинусы всякие. Этож не задача вида "1 человек за 1 час напечет 50 блинов. Сколько блинов за час напекут 2 человека?".
либо я феерически туплю
vilfred(*) (2011-06-01 21:20:00)
Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
|
|
|
Скрыть
Re: поспорили тут про вычисление высоты самолета на гуглемапсе533 это катет(если ты понял как это цифра получилась нажав на линейку в викимапсе и узнав длину от самолёта до тени, я её получал именно так, протягивая мышкой квадратики на жабаскриптовом интрфейсе) я не понял в чем расчет через треугольники и тригонометрию отличается от расчета через пропорции, причём в два раза |
Скрыть
Re: поспорили тут про вычисление высоты самолета на гуглемапсеу меня задача решается в два шага. 1) сначала я беру эту линейку, вычисляю расстояние от основания дерева до конца его тени. Этот катет равен 9 метрам(ну я взял там какую-то тень на карте). Потом я беру среднюю высоту дерева, которую положил 15 метрам, эта средняя высота дерева противолежит углу, который я вычисляю. Итого у мну есть два катета в прямоугольном треугольнике. Ну а тангенс это отношение противолежащего к углу катета к прилежащему. Т.е. тангенс отношения высоты дерева к длине его тени. Отсюда через арктангенс(атан2 в перле) я получаю сам угол в радианах. 2) зная этот угол я беру расстояние от самолета до тени и вычисляю его исходя из того, синус это отношение противолежащего к гипотенузе. которую "почемуто посчитал равной 533". да блин, сфейлил так сфейлил. пока объяснение писал разобрался. и правда. итить, позор какой |
Скрыть
Re: поспорили тут про вычисление высоты самолета на гуглемапсе>Этот катет равен 9 метрам(ну я взял там какую-то тень на карте).
|
Скрыть
Re: поспорили тут про вычисление высоты самолета на гуглемапсе>533 это катет(если ты понял как это цифра получилась нажав на линейку в викимапсе и узнав длину от самолёта до тени, я её получал именно так, протягивая мышкой квадратики на жабаскриптовом интрфейсе)
в том то и дело, что это катет, а в твоем расчете длинна 533 фигурирует как гипотенуза))) >я не понял в чем расчет через треугольники и тригонометрию отличается от расчета через пропорции, причём в два раза
конечно. расчет через треугольник же неправильный. давай разберем поподробнее что у тебя там происходит: как мы помним из геометрии, тангенс -- это отношение противолежащего катета к прилежащему. т.е. "atan2(15,9)" вернет нам величину угла С. пока вроде все нормально. но теперь вилли делает синус этого угла! а что такое синус? а это отношение противолежащего катета к гипотенузе, т.е. sin(С) = АB/AС (1) -> АB = AС*sin(С) (2). тут мы опять смотрим на то что написал вилли: "533*sin(atan2(15,9))" и находим поразтельное сходство с формулой 2! т.е. это формула возвращает нам AB(тут я извиняюсь за ошибку в предыдущем посте, искал ты действительно высоту, а не тень), пологая что AC у нас равно 533. теперь давай давай вместе подумаем, что же надо сделать, чтобы формула стала правильной? раз у нас есть угол B, то нам, внезапно именно тангенс и нужен, ибо tg(С) = AB/ВC (3) -> AB = ВС*tg(С) (4). что на языке перла запишется как "533*tan(atan2(15,9))" и, внезапно, вернет именно 888.3335. но зачем нам арктангенс, если мы тут же делаем тангенс? зачем нам эти лишнии действия? ведь tg(arctg(x)) = x (5)! вот потому то тут и катят соотношения. anonymous(*)(2011-06-01 22:36:53)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.16) Gecko/2009120206 Firefox/3.0.16 |
Скрыть
Re: поспорили тут про вычисление высоты самолета на гуглемапсе> ведь tg(arctg(x)) = x (5)! вот потому то тут и катят соотношения.
мну согласный. |
|
|
|
Этот тред читают 1 пользователь: |
Анонимных: 1 Зарегистрированных: 0 |
Re: поспорили тут про вычисление высоты самолета на гуглемапсе
>собственно что заинтересовало, а разве тут можно использовать линейную пропорцию?
можно. man тангенс.
>>Откуда sin?
присоеденяюсь к вопросу. нахрена тебе гипотенуза?
>perl -e 'print 533*sin(atan2(15,9))," метров\n";'
вилли, жжошь. ты получаешь синус верхнего угла, и зачем-то находишь длину тени, приняв гипотенузу за 533)))
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.16) Gecko/2009120206 Firefox/3.0.16