Представьте, что вам понравилась компьютерная игра. И вы играли в неё несколько дней без перерыва. А потом пригласил в игру двоих друзей. Им игра тоже понравилась, но... возникла проблема!
Нет-нет, не такая. Мирная проблема. Вы-то уже достигли пятого уровня, а у друзей персонажи только первого уровня, слабенькие! Как им вас догнать, чтобы играть втроём?
Вы, конечно, можете удалить своего старого игрового персонажа, и начать игру заново. Или можете перестать играть и подождать, пока друзья доберутся до вашего уровня. Всё верно. Но... ску-у-учно! Однако есть и третий вариант – математический.
(В конце концов, любая компьютерная игра – это чистая математика. И если хотите научиться создавать видеоигры сами, то советуем с математикой подружиться заранее.)
Итак, чтобы перейти на следующий уровень, игроку в игре нужно набирать очки, то есть опыт, на тайном (непонятном родителям) игровом языке – «экспу». Скажем, за выполнение задания игрок получает сто очков опыта. А для прохода на второй уровень нужно набрать тысячу очков. На третий уровень – ещё тысячу, и так далее.
Такой рост уровня игрока в математике называется «линейным». Простая система, удобная и понятная – но! С ней товарища не догонишь, хоть ты тресни!
А теперь представим себе такой режим прохождения игры: для получения второго уровня игроку нужно набрать тысячу очков. А вот для получения второго – уже две тысячи! Для третьего – четыре тысячи. Для четвёртого – восемь и так далее.
Значит, чтобы перейти с пятого уровня на шестой, вам нужно набрать тридцать две тысячи очков. А друзьям, чтобы «докачаться» с первого уровня до пятого, понадобится 1+2+4+8+16 = тридцать одна тысяча очков! И они очень даже быстро (буквально за день) вас догонят, и дальше вы будете играть вместе на одном уровне!
Такой рост уровня игрока в математике называется (нетрудно догадаться) «нелинейным». Или – «логарифмическим».
Школьная линейка с её сантиметрами и миллиметрами – это линейная шкала:
1 сантиметр – 10 миллиметров. 2 сантиметра – 20 миллиметров. 3 сантиметра – 30 миллиметров. И так далее. А теперь представьте себе, что у нас вот какая причудливая шкала:
1 сантиметр – 20 миллиметров, 2 сантиметра – 40 миллиметров, 3 сантиметра – 80!.. Вот это и будет шкала «нелинейная», «логарифмическая».
Вы не представляете, насколько в науке и технике распространены такие вот «нелинейные линейки».
Скажем, «шкала Рихтера», по которой измеряют силу землетрясений – логарифмическая.
Шкала громкости звука в децибелах – логарифмическая.
Яркость звёзд в астрономии – тоже.
Время выдержки в фотоаппарате – тоже! И так далее, и так далее!
Название «логарифмическая» происходит от слова «логарифм». А что это за зверь? Сейчас расскажем!
Составим таблицу с двумя рядами чисел. В верхней строчке – просто числа от нуля до девяти. А вот во второй – числа «хитрые».
Что же в них хитрого? А то, что мы можем умножать их, не умножая !
Скажем, сколько будет восемь умножить на тридцать два, сможете быстро посчитать в уме? А теперь смотрите: в нашей таблице число 8 во второй строке стоит под цифрой 3 в первой строке, а число 32 во второй строке – под цифрой 5 в первой строке, так? Сложим 3 и 5 – сколько получается? Восемь! А теперь – какое число в нашей таблице во второй строке стоит под цифрой 8 в первой строке? Число 256! Всё, вот вам и ответ!
Может, это случайное совпадение? Нет, не совпадение. Повторим опыт – умножим по нашей таблице 16 на 64.
Число 16 – под цифрой 4, число 64 – под цифрой 6. Складываем 4+6, получаем 10. А какое число у нас во второй строке под цифрой 10? Число 1024. Проверяем на калькуляторе – и правда 1024!
Так что это совсем не совпадение, а наоборот – самый настоящий математический закон. Открыли его, кстати, давным давно. И догадались, что с помощью такой вот таблицы (только более подробной, конечно) можно вместо умножения чисел использовать сложение.
«А можно вместо деления по такой волшебной таблице использовать вычитание?» – спросят самые догадливые.
А вы попробуйте. Скажем, разделить 2048 на 128 – сколько будет? 2048 стоит под цифрой 11, а 128 – под цифрой 7.
Сколько будет из одиннадцати вычесть семь? Четыре. Находим число 4 в первой строке, а под ним видим число 16. И это на самом деле правильный ответ!
Понятно, что складывать и вычитать намного проще, чем умножать и делить. Особенно если числа большие и длинные! Причём не только людям – но и компьютерам! (Да-да, бывают такие задачи в математике, физике, технике и вообще в науке, которые даже для решения на самом супербыстром компьютере желательно «упрощать».) А уж как страдали учёные в те времена, когда вообще никаких компьютеров не было! Некоторые вычисления приходилось делать недели и месяцы! Горы исписанной бумаги, вёдра чернил!
Так что же такое «логарифм»? А это как раз число из первой строчки нашей чудо-таблицы!
Мы с вами как говорили? «Число 128 в таблице стоит под номером 7». А математик скажет так: «Число 7 – это логарифм числа 128 по основанию 2».
Английский математик Джон Непер первым в мире составил такие «волшебные таблицы» в 1614 году, в книге, которая так и называлась: «Описание удивительной таблицы логарифмов», по-латыни «Мирифици логаритморум канонис дескрипцио».
В тогдашнем научном мире эта книга произвела настоящий фурор, стала бестселлером! С её помощью считали мореплаватели и строители, военные и купцы, финансисты и инженеры. Вот как об изобретении логарифмов писал знаменитый французский астроном Пьер-Симон Лаплас:
«...это удивительное искусство, которое, позволяя за несколько дней сделать работу нескольких месяцев, вдвое продлевает жизнь астроному, избавляя его от ошибок, неизбежных при долгих вычислениях...»
Само название «логарифм» происходит от греческих слов «λόγος» (логос, «разум») и «ἀριθμός» (арифмос, «число») – то есть, в переводе с греческого, «логарифмы» – это «умные числа». А ведь и правда неглупые, а?
Кстати, именно на логарифмах основана работа «деревянного калькулятора», дедушкиной (и прадедушкиной) логарифмической линейки.
Никакого экрана, никакой клавиатуры, никаких кнопок, никаких программ и даже никакого электричества – просто две линейки, подвижная и неподвижная. И прозрачный «бегунок». А считать на такой линейке, между прочим, можно не хуже, чем на калькуляторе! Если хотите познакомиться с этим старинным (и незаслуженно забытым) искусством – напишите нам!
Несмотря на капризы погоды, лето неумолимо приближается. Значит, занятия в спортивном зале или домашние тренировки получится заменить на активности под открытым небом. Собрали для вас товары, которые сделают уличные воркауты интереснее, увлекательнее и полезнее.
Мегамаркет дарит пикабушникам промокод килобайт. Он дает скидку 2 000 рублей на первую покупку от 4 000 рублей и действует до 31 мая. Полные правила здесь.
В компактную поясную сумку поместятся телефон, ключи, кошелек или другие нужные мелочи. Во время тренировки все это не гремит и не мешает, но всегда находится под рукой. Материал сумки прочный и влагонепроницаемый, вещи в ней защищены от повреждений, царапин или пота.
С фитнес-резинкой можно тренировать все группы мышц: руки, ноги, кор, ягодицы. А еще она облегчает подтягивания и помогает мягко растягиваться. В сети можно найти огромное количество роликов с упражнениями разной степени сложности. Нагрузка легко дозируется: новичкам подойдет резинка с сопротивлением до 23 кг, опытным атлетам — до 57 кг. При этом оборудование максимально компактно и поместится даже в небольшую сумку.
Для тех, кому надоели обычные тренировки. Слэклайн — это стропа шириной 50 мм, с помощью которой осваивают хождение по канату. Тренажер учит сохранять баланс, прокачивает координацию и концентрацию, а еще дает отличную нагрузку на спину, руки и ноги.
Настольный теннис — простой в освоении вид спорта, который отлично помогает размяться и тренирует скорость реакции. В комплект входят две ракетки, три мяча, сетка, накладка и чехол — все, что нужно, чтобы поиграть вечером во дворе с другом или устроить небольшие соревнования. Этот недорогой набор подойдет именно для развлечения и веселья, устанавливается почти на любой стол.
Еще один вид спорта, которым можно заниматься, даже не имея серьезной подготовки — бадминтон. С набором от Wish Steeltec вы сможете потренировать силу удара, побегать и просто хорошо провести время. Детали яркие, так что их трудно потерять даже на природе. Леска натянута прочно, ресурса ракеток должно хватить не на один сезон.
Фрисби воспринимается как простое пляжное развлечение. Тем не менее перекидывание друг другу тарелки задействует все группы мышц и развивает скорость реакции. Эта тарелка летит далеко и по понятной траектории — отличный снаряд для начала. Кстати, фрисби — это еще и ряд спортивных дисциплин со своими правилами и техническими сложностями, так что игра с друзьями может перерасти в серьезное увлечение.
Стильный мяч из износостойкой резины отлично подходит для уличных тренировок. Вы сможете поиграть компанией в баскетбол или стритбол или просто отработать броски. При производстве используется технология сбалансированного сцепления: это значит, что снаряд не сбежит от вас и будет двигаться по стабильной траектории.
Футбол — один из самых популярных в России видов спорта. Играя, можно отлично побегать, потренировать меткость и отработать взаимодействие в команде. Футбольный мяч Torres Striker выполнен из качественного полиуретана и резины и выдержит не один десяток матчей, не потеряв упругости. Отличная балансировка и оптимальный размер делают его подходящим как для взрослых, так и для подростков. Он достаточно тяжелый, почти как в профессиональном спорте, так что совсем малышам не понравится.
Пляжный или обычный волейбол? А может быть, пионербол, как в детском лагере? Мяч TORRES SIMPLE COLOR подойдет для любой из этих игр. Камера отлично держит давление, поэтому вам не придется постоянно подкачивать его, а качественные материалы (полиуретан и бутил) сохраняют все характеристики даже при интенсивном использовании.
Многоскоростной велосипед с рамой 19-го размера подойдет как мужчинам, так и женщинам. Это отличный вариант для новичков: модель доступная, удобная. Поможет понять, нравится ли вам велоспорт. Конструкция велосипеда позволяет ездить по дорогам разных типов, поэтому вы сможете перемещаться по городу или отправиться в поход. Есть складной механизм — велосипед с ним легко возить в машине, на электричке и просто хранить в кладовке.
Более продвинутая модель для тех, кто уже оценил прелесть движения на двух колесах. Геометрия велосипеда предполагает вертикальную посадку. Это обеспечивает более удобное положение тела, чем на других байках. В конструкции предусмотрены детали для комфорта и безопасности: пружинная вилка с ходом 100 мм, сервисная подводка тросов и дисковые гидравлические тормоза.
Если вы не фанат велоспорта, но хотите получить свою дозу физической нагрузки, перемещаясь по городу, выбирайте самокат. В модели PLANK Magic 200 есть регулировка руля по высоте, надежные тормоза и прочная увеличенная дека из алюминия. Когда вы катаетесь на самокате, работают мышцы ног, ягодиц, спины и живота, а заодно добираетесь, куда нужно. Если вы решите сделать паузу в тренировках, самокат легко складывается для хранения.
Любая активность на свежем воздухе требует хорошей обуви, специально сделанной для занятий спортом. Яркие кроссовки Hoka RINCON 3 с облегченным весом амортизируют, снижают нагрузку на суставы. Выраженный рельеф подошвы обеспечивает сцепление с поверхностью вне зависимости от того, где проходит тренировка: на специальной площадке, асфальте или грунте.
Легкие женские кроссовки из линейки Clifton подходят для занятий на твердых покрытиях. Дышащий сетчатый верх поддерживает вентиляцию стоп, чтобы можно было тренироваться даже в жару. Подошва из легкой пены EVA гасит силу ударов. Кроссовки беговые, подходят для тренировок на длинных дистанциях.
Во время занятий на свежем воздухе важно защитить голову от перегрева. С этим отлично справится легкая и светлая бейсболка — например, от GLHF. Она удобно сидит на голове, не сваливается и не отвлекает от занятий, благодаря сетке голова меньше потеет. Козырек жесткий и не мнется.
Не забудьте защитить кожу от солнца — чтобы не было мучительно больно на следующий день после тренировки под открытым небом. В этом поможет крем против пигментных пятен с сильной защитой от ультрафиолета SPF50. Водостойкая текстура легко наносится и быстро впитывается, действует два часа — потом крем нужно обновить.
Удобные и стильные солнцезащитные очки защищают глаза благодаря фильтру UV400, который поглощает до 99.99% ультрафиолета. Они выполнены из легких материалов и плотно прилегают к голове. Ударопрочные поликарбонатные линзы с антибликовым покрытием подходят для разных видов спорта.
Используйте промокод килобайт на Мегамаркете.Он дает скидку 2 000 рублей на первую покупку от 4 000 рублей и действует до 31 мая. Полные правила здесь.
Реклама ООО «МАРКЕТПЛЕЙС» (агрегатор) (ОГРН: 1167746803180, ИНН: 9701048328), юридический адрес: 105082, г. Москва, ул. Спартаковская площадь, д. 16/15, стр. 6
Привет, уважаемый читатель! Это маленький сиквел к моему тексту про цитадель, который я публиковал тут несколько месяцев назад. На удивление, многим он вкатил, так что я решил, что если жизнь даёт тебе лимоны, то нужно давить лимонад. Далее нас ждёт немного аналитической работы и погружение под капот некоторых локаций Portal 2. Данный блог — это текстовая адаптация видео, которое будет прикреплено ниже (или просто текст сценария, по которому я читал текст для видео). Если вашему глазу милее текст, то вы его можете увидеть чуть ниже видео, но я рекомендую именно видеоформат.
После работы над прошлым видео у меня осталось небольшое количество материалов, о которых бы хотелось рассказать. Касаться они будут уже не Half-Life 2, а другой игры из той же вселенной, созданной на движке Source, а именно — Portal 2. Вообще, в играх существует не так уж и много вещей, которые можно измерить и представить их в реальности. В Half-Life 2 было только несколько элементов дизайна игры, которые хотелось проверить в реальности. Скажем, что это может быть «Цитадель и её высота», и разве что прототип реального места действия игры.
На этом вопросы по игре лично у меня заканчиваются. Другого такого бреда в моей голове больше не появляется. Высота цитадели — единственная вещь, которую хотелось бы проверить в реальности. Мир Half-Life выполнен с размахом, и раз уж он объединяет в себе и другие игры, то в них должно быть что-то такое же монструозное. И если для Half-Life 2 этой вещью является Цитадель, то для Portal 2 — это сам комплекс Aperture Science, в стенах которого разворачивается сюжет обеих игр серии.
На протяжении всей игры мы буквально как пушечное ядро летаем в огромных тестовых камерах, размер которых порой напоминают огромный стадион. Им нет конца и края. Это огромный, бесконечный город, который объединён в одно огромное здание. И тут парадоксально то, что несмотря на размах этих тестовых камер, в течении всей игры на нас почти незаметно давит это ужасающее чувство клаустрофобии. За очередной комнатой будет ещё одна комната. После каждой лифт будет опускать нас всё ниже и ниже. И при взгляде на окна, которые встречаются в этих комнатах можно заметить, что горит в них не свет солнца, а люминесцентной лампы. В течении всей первой части Portal нам не дают понять где мы находимся. Это абсолютно пустые помещения какой-то лаборатории, где единственное разумное создание, показывающее наличие интеллекта — это бесчувственный, лишённый любой человеческой эмпатии робот GLaDOS. Давно покинутое людьми, управляемое безумной машиной, испытательное поле для одного тебя. И я отчётливо помню тот самый момент, в самом конце игры, когда после уничтожения GLaDOS что-то нас подхватывает, поднимает в воздух и выбрасывает на улицу. Мы видим снаружи простую парковку, по которой разбросаны обломки, но нет ни одного здания на горизонте. Простая парковка посреди леса. Эта сцена сильно напоминает мне момент из Матрицы, когда Нео и Тринити на своём корабле на секунду воспаряют над облаками, и после момента радости солнечному свету падают обратно в тёмную бездну.
Также и в игре Portal после минутки просветления мы обратно возвращаемся к сдавливающим нас стенам, пролетаем между километрами коммуникаций комплекса куда-то в самую его глубь, чтобы узнать, что на самом деле «Cake isn’t a lie».
В этот момент игрок понимает, что всё это время мы находились глубоко под землёй. И мозг пытается просто навскидку представить и понять, как эти комнаты размерами со стадион поместились там под землёй? И насколько глубоко под землю простирается комплекс Aperture Science?
Тут не будет каких-то громких откровений как в прошлом, потому что этот вопрос поднимался на форумах не так часто, и на Reddit я его находил только в достаточно скромных тредах на десяток комментов максимум. Однако на вики по игре, как и в случае с Half-Life, написана чёткая цифра. Вот что о размерах пишут на одном из таких вики.
Центр обогащения чрезвычайно велик, даже по стандартам, установленным такими объектами, как Исследовательский комплекс Черная Меза, который по сравнению с ним ничтожен. Соляная шахта состоит из девяти вертикальных стволов глубиной не менее 4000 метров каждая и шириной в сотни метров. Внутри кавернозных шахт находится большое количество пространства, которое не используется Aperture, и установки часто подвешены над огромными обрывами, которые уходят глубоко в шахты. Между Центром обогащения и испытательными шахтами находится большой люк, который в открытом состоянии позволяет лифту соединять первоначальный объект с современным. Через этот соединительный люк протекает также система труб Mobility Gel. Современный объект поддерживается множеством больших пружин, вероятно, сетью сейсмических изоляторов, чтобы предотвратить воздействие нестабильности шахтных стволов на чувствительное исследовательское оборудование.
В реальном мире шахты и пещеры бывают разные. Это всегда прорытый искусственно или естественным путём тоннель под землёй, который в ширину обычно бывает не больше нескольких десятков метров. Каверна же — это большая полость под землёй. Они бывают разные, одни могут быть образованы соляными отложениями, другие подземными водоёмами. Если говорить о реальных подземных полостях, то известны и поистине огромные. В России, например, печально известен город Березняки, который год за годом продолжает проваливаться под землю. Там с советских времён разрабатывалось соленое месторождение, и по мере выработки полости освобождались. В некоторых местах эти полости могут иметь высоту до сотни метров. Только представьте, что на земле стоит девятиэтажка, а под ней пустое пространство глубиной в 27 таких же этажей. Вполне себе подходит как кандидат на место строительства лаборатории исследования природы порталов и человеческой стойкости. Ещё один пример — антарктическое подземное озеро «Восток», самое большое подводное озеро, которое на протяжении 15 миллионов лет было спрятано от окружающего мира трёх-киллометровым слоем льда. Глубина этого озера может доходить уже до 800 метров, что примерно сопоставимо с высотой самых высоких небоскрёбов. Также может быть, что каверна находится под ещё одним естественным углублением в земле, как например подземное озеро острова Оуи в Ирландии, которое находится на 50 метров ниже другого озера. В общем, кандидатов на застройку в нашей реальности достаточно много, но они так и не дотягивают до умопомрачительных 4000 метров.
Город Березняки
Но даже будь у нас в распоряжении здание на глубине 4 километров, там было бы просто невозможно находится. Всё дело в крайне высокой температуре под землёй. Cчитается, что температура в ядре и мантии земли составляет в среднем 6000 и 4000 градусов по Цельсию соответственно. Эти температуры просто трудно представить, но и достигаются они в сотнях и тысячах километрах под землёй. Но даже не смотря на это, относительно не глубоко температура тоже очень высока. Например, максимальная температура была измерена и зафиксирована на глубине около 6000 метров и составила 274 градуса по Цельсию. Это примерно на 100 градусов выше той температуры, при которой вы запекаете мясо в духовке. Содержать здание на такой глубине скорее всего не очень реально, потому что физику не обманешь. Тепло — это энергия, которая не может просто так испарится.
К счастью, если конкретно измерить глубину залегания лаборатории Aperture Scienceв игре Portal 2, то можно в итоге узнать, могла бы она существовать в реальности или нет? Для этого как и в прошлый раз нам нужно декомпилировать архив с игровым контентом на нужной нам карте, открыть всё в Hammer Tools или Blender, и замерить всё линейкой. Ничего сложного.
Первый и самый очевидный способ: зная скорость и время падения мы можем высчитать пройденное расстояние. Объектом нашего исследования станет карта sp_a3_00. Сперва перейдём на требуемую локацию, и сразу же откроем консоль. Теперь введём команду, которая добавит нам к экрану информацию с нашими координатами, и также будет нам показывать информацию о скорости перемещения. Теперь нам нужно лишь засечь время, снять игру с паузы и дождаться падения. Проведя все требуемые расчёты мы получим требуемую цифру.
Вот незадача. Магическим образом счётчик скорости застыл на нуле. Нужно разобраться, почему счётчик показывает 0.
Вводим следующие команды в консоль:
r_drawclipbrushes — эта команда отображает на экране элемент, который называется Clip Brushes, или также его можно назвать «невидимой стеной». Это элемент, который поваляет создать невидимую структуру, благодаря которой решаются многие проблемы с левел дизайном любой игры и локации выполненной на движке Source. К примеру, чтобы игроки не застревали на выступах вдоль стен. Эти структуры прозрачны и незаметны. Они пропускают через себя рэгдолы, физические объекты, но не пропускают игрока и ботов. Абсолютно необходимый инструмент любого левел-дизайнера. И как видите, тут игрок окружён именно такой структурой. Видимо, он стоит на месте и просто не имеет физической способности передвигаться, даже со включенным параметром noclip.
sp_a3_00
Это меня заинтриговало, тут я решил разобраться в строении уровня. Учитывая что мы достаточно долго летим вниз, можно предположить, что этот уровень должен быть одним из самых больших в игре. Проверить это можно в одной из утили из набора модера для движка Source. Каждая карта из игры лежит в отдельной директории в виде отдельного файла. Когда мы переходим на новый уровень игра запрашивает файл с нужным названием и загружает именно ту локацию, которая нужна по игре. Сам файл представляет собой архив, в котором лежит информация о моделях, самом игровом поле, текстуры, анимации и ссылки на ресурсы, которые могут подтягиваться из sdk. Данная утилита может проверить этот файл на целостность и работоспособность. Грубо говоря она показывает, прогружается ли вся информация из этого архива или нет. Интересно тут то, что эта программа также показывает и размеры локации по осям X, Y и Z. Результаты отображаются в Hammer Unit-ах. Мы уже говорили о них в прошлом видео, если забыли, то советую пересмотреть.
Удивительно, но утила сообщает нам о том, что сама по себе локация крайне маленькая. Всего 13700 h/u в высоту. Это говорит нам о том, что уровень строится более интересным образом. Игрок находится в невидимой коробки, посреди маленькой комнаты с невидимыми стенами. Всё то, что находится в самой комнате — отрисовывается, а всё то, что за ней просто не отображается. Чтобы проверить так ли это — вернёмся в игру и введём ещё две команды.
mat_luxels 1 — эта команда отображает нам сетку на каждой модельке, которая появляется на уровне.
mat_leafvis 1 — эта команда отображает так называемые «Чанки», или условные блоки, в которых находится игрок и к которой прогружается тот или иной контент.
mat_luxels 1 и mat_leafvis 1
Сперва посмотрим на них. Как вы видите, там где находится игрок — появляется синий параллелепипед, а если выйти за его рамки, то начнёт отображаться соседний. Если на уровне в трубе мы будем действительно падать, то эти Чанки будут меняться. Теперь перейдём к следующей команде, которая отображает нам сетку на каждой модельке. Эта сетка поможет нам увидеть, прорисована ли труба изначально, или она появляется частями по мере того, как сама труба движется вверх через нас.
Присмотритесь, там в дали силуэт проступает.
И так, у нас есть только один гигантский Чанк, в котором, видимо, прогружается сама труба, и отрисовывается она только в небольшом поле вокруг нас. Новые элементы локации появляются немного вдалеке от нас. А это означает, что нам нужно просто декомпилировать карту, и посчитать размер этого огромного Чанка. Но об этом позже. Пока поразмышляем с какой скоростью может двигаться эта труба.
Любой опытный спидраннер или сёрфер из CSGO может чисто на вскидку сказать с какой скоростью движется окружение. Представим, что по ощущениям скорость будет около 1500 u/s. Если представить, что получится?
Считаем 1500 u/s * 75 секунд сцены. И мы получаем 112500 юнитов, а 16 юнитов равны 1 футу. Считаю 112500 юнитов делим на 16 и выходит 7031 футов, или 2143 метра. Оставим эту цифру в голове. Попробуем разобрать файл с картой.
Переходим в папку с игрой и открываем директорию, в которой лежат файлы самих локаций. Как мы помним, на уровне sp_a3_00есть огромный Чанк, в который и прогружается вся труба целиком. Конвертируем карту в уже привычный мне obj-файл и открываем его в Blender-е. Мы видим тут два огромных параллелепипеда.
Файл называется simpleworldmodel.mdl — 1) открыт в Blender, 2) открыт в Hammer World Craft
Файл называется simpleworldmodel.mdl — 1) открыт в Blender, 2) открыт в Hammer World Craft
Тот что поменьше — это, вероятно, место, где хранятся сегменты большой трубы. Как видно из информации, которую я нашёл в интернете — сегменты трубы прогружаются в отдельной зоне локации. И ещё есть длинная часть, которая вероятно и является местом, где эта труба и соединяется в одну целую конструкцию.
Единственное, что теперь нас отделяет от ответа на вопрос — это линейка из инструментария Blender-а. И теперь я могу уверенно заявить, что глубина научного комплекса Aperture Science составляет 2500 метров. Считая глубину навскидку я ошибся всего-то на несколько сот метров. А значит и эту информацию в википедии можно поправить. Я надеюсь вам было интересно узнать столь бесполезный, но очень интересный факт.
Всем доброго времени суток Когда возникает желание что-то посчитать в игре, то нередко приходится определять размеры объектов по их изображению, то есть иметь дело с угловыми размерами объектов. Например, есть за картой звездолет и хочется узнать, насколько он большой. Для этого как раз нужно в том числе и определять его угловой размер. Что это такое и как его найти и будет рассказано в этом посте
Что такое угловой размер
Угловой размер - это мера того, насколько большим мы видим объект. И пожалуй объясню это на примере Представьте, что вы стоите напротив шара диаметром 3 метра и смотрите на него. Сперва вы смотрите на него с расстояния в 1 метр, затем отходите подальше и смотрите уже с 4 метров. Сам шар размеры свои не изменил, однако для вас он стал меньше, потому что вы удалились. И вот как раз то, насколько большим вы его видите, угловой размер и показывает:
Естественно, угловой размер связан не с самим шаром, а с диаметром круга, который мы видим (изображение шара для глаза - это круг). Ну то есть в общем случае он связан с отрезком, который видит человек, камера или персонаж в игре
Как строится изображение
Предупреждение: так как я не занимаюсь разработкой видеоигр, то могу не могу быть полностью уверен в данной математической модели. Если она ошибочна в общем случае, то прошу указать об этом в комментариях
Спроецируем все объекты, которые мы можем увидеть из некоторой точки на какую-то поверхность. Вот только на какую? Так как по любому направлению проецироваться объекты должны одинаково, то очевидным будет сделать проекцию на сферу, в центре которой находится наблюдатель. На этой сфере находятся все объекты, которые может увидеть наблюдатель, изменяя только направление своего взгляда. Естественно, из-за ограниченного угла обзора наблюдатель видит только часть этой сферы Однако мониторы прямоугольные и, в основном, плоские, поэтому теперь видимый кусок сферы нужно спроецировать на прямоугольник. Отсечем от сферы те части, которые наблюдатель не видит, а из концов отрезанного куска проведем прямые, пересекающиеся в центре. На этих отрезках и будет лежать прямоугольник, и для удобства его можно построить прямо на концах куска сферы:
Зеленая плоскость - это как раз плоскость монитора
И теперь, чтобы спроецировать некоторую точку на плоскость монитора, проведем прямую от этой точки на сфере до центра сферы. Точка пересечения с плоскостью и будет проекцией точки на эту плоскость. Кстати, такой метод проецирования объясняет, почему по краям изображение растягивается
Находим угловые размеры
Пусть есть какой-то отрезок, который находится в поле зрения наблюдателя. Проведем прямые из концов этого отрезка в центр сферы. Угол между прямыми как раз и будет угловым размером этого отрезка. Теперь пересекаем эти прямые с плоскостью монитора и получаем концы отрезка уже на изображении. И теперь, если нам известны точки, которыми отрезок ограничен, то мы можем определить угловой размер. Как это сделать?
Сперва введем 2 системы координат: одна 3-мерная, из центра сферы, другая 2-мерная, связанная с плоскостью монитора:
Здесь L - длина изображения в пикселях, D - высота, что, впрочем, видно и по рисунку. Также здесь у нас появилась неизвестная H, которую надо бы найти. Рассекаем объекты с рисунка плоскостью xOy и, соединяя с началом координат края сечения монитора получим следующую картину:
Так как начало координат находится ровно над центром монитора, то мы получаем равнобедренный треугольник. Теперь можем из FOV-а (угла обзора) и длины изображения выразить неизвестную:
Изначально мы будем знать координаты точки в системе координат монитора (например, координата пикселя в Paint-е), поэтому из них определим координаты уже в системе Oxyz для некоторой точки:
Не забываем, что Oxyz находится над центром монитора
Теперь вернемся к исходной картинке, нанесем на плоскость точки A и B, которые будут границами нашего отрезка и проведем вектора из наблюдателя (нуля Oxyz) в эти точки:
Напомню, что эти векторы лежат на прямых, угол между которыми нужно найти. А значит нужно найти угол между векторами. Тут же напрашивается скалярное произведение этих векторов, поэтому не будем изобретать велосипед и воспользуемся им:
Вторая картинка - та же формула, но с записью обозначений, чтобы ее можно было сохранить и потом быстро ею воспользоваться
Ну и что ж, вот конечная формула. Определяем координаты пикселей, разрешение и угол обзора, подставляем в формулу и получаем угловой размер. Однако такая формула выглядит довольно громоздко, поэтому я решил написать небольшую консольную программу, которая сможет считать угловые размеры. Оставлю здесь ссылку для скачивания на Яндекс диск, а также код самой программы, вдруг кто захочет разобраться в ней:
Ну а на этом все, удачи вам в расчетах и вычислениях)
Привет, пикабу, некоторое время ищу игру из своего детства, вдруг кто играл или знает название. Игра развлекательно-развивающая, про математику, можно было путешествовать по карте и в разных локациях делать различные действия, из того, что помню: Пицца - нужно было помочь развести пиццу оптимальным маршрутом Магазин - прочувствуйте на себе долю кассира, посчитайте покупки и выдайте сдачу (помню что монеты еще помещались в монетницы по номиналу) На еще какой-то локации нужно было высчитывать периметры фигур На другой отгадывать загадки стервятников
Игрушка интересная с одной стороны, с другой мне бы просто поностальгировать,а может и сейчас кого привлечет такая подача)
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
Всем доброго дня Сегодня решил глянуть синематики, посвященные уже вышедшему аль-Хайтаму. И тут мне на глаза попался один довольно интересный и, естественно, информативный кадр, вот он:
Здесь мы видим вращение звездного неба, а оно, как известно, вызвано вращением Земли вокруг своей оси. По положению точки, вокруг которой крутятся звезды, и по направлению вращения можно примерно определить широту точки наблюдения, то есть Сумеру (ну аль-Хайтам из Сумеру, и пейзажи сумерские, думаю, в синематике Сумеру показан). Что ж, приступим
Начнем с углового значения широты(хотя на этом мы и закончим). Чтобы понять, что и как должно вращаться, нарисуем вращение Земли Тейвата относительно небесной сферы, а затем небесной сферы относительно сферической поверхности Тейвата:
Оставлю небольшое замечание: Тейват таки является сферическим, об этом говорит один из ученых, который как раз вычислял его кривизну:
Точка, вокруг которой крутятся звезды, должна лежать на оси вращения звездного неба относительно поверхности (короче на оси вращения Земли Тейвата) и при этом она лежит на оси вращения звездного неба относительно наблюдателя. Вот картинка для наглядности:
Так как эта точка бесконечно удалена, то можно считать, что те две оси параллельны. Теперь разрезаем планету и видим, как связано угловое расстояние от той точки до горизонта и широта:
Доказательство построения: так как оси вращения пересекаются, то они образуют плоскость (этой плоскостью мы резали планету). В то же время радиус из центра к наблюдателю проходит через обе оси, значит он лежит в этой плоскости. Касательная плоскость перпендикулярна радиусу => она перпендикулярна первой плоскости => чтобы определить угол между осью наблюдателя и плоскостью нужно определить угол между осью и прямой пересечения плоскостей. Это как раз показано на рисунке Как мы видим, угловое расстояние от точки до горизонта и есть широта
А теперь внимательно смотрим на картинку из начала поста и замечаем, что эта точка находится где-то рядом с горизонтом, значит, широта Сумеру близка к нулю. Ну а это значит, что Сумеру расположен близко к экватору. В южном полушарии или в северном - не имеет значения, ибо точное угловое расстояние не получить - и горизонт, и точка вращения спрятаны за горами Разве что можно сказать, куда смотрит аль Хайтам. Вспоминаем один из чертежей, но теперь проводим касательную, лежащую в одной плоскости с осью вращения:
По картинке понятно, что если смотреть на юг, то звезды будут крутиться по часовой стрелке. Прям как на кадре из синематика. Значит, аль Хайтам смотрит куда-то на юг. К слову, вот похожее место:
Ну а на этом все. Надеюсь, пост получился интересным, а, может, кому-то даже помог чуть-чуть разобраться в геометрии и астрономии