Pull to refresh

В рамках эксперимента на МКС будут изучать перемещение малого суслика в Дагестане

Popular science Health Biology

Ставропольский противочумной институт начал исследование, в рамках которого учёные будут отслеживать перемещение малого суслика на территории Дагестана при помощи оборудования на МКС. 

Читать далее
Total votes 3: ↑3 and ↓0 +3
Views 1.3K
Comments 6

Способы передвижения компьютерных персонажей (Часть 1)

C++ *Algorithms *
Sandbox
Tutorial
Все, кто начинал заниматься реализацией игрового искусственного интеллекта, наверняка сталкивались с проблемой реализации движений своих персонажей. Дело в том, что поведение и в реальном мире в большей степени определяет интеллектуальность того или иного существа. Даже люди друг друга зачастую оценивают по поведению (что немного неверно). Эта статья рассчитана на тех, кто только приступает к реализации своего первого игрового ИИ. Я расскажу о видах перемещений, их преимуществах и недостатках, а также покажу на примере как можно реализовать тот или иной способ на языке C++. Замечания и критика, а так же свои точки зрения приветствуются.
Читать дальше →
Total votes 77: ↑67 and ↓10 +57
Views 61K
Comments 14

Способы передвижения компьютерных персонажей (часть 2)

C++ *Algorithms *
Tutorial
В предыдущей статье я рассказал о видах передвижений и перемещений в плиточном мире. Сегодня расскажу подробней о векторных способах. Как и в прошлый раз расскажу теорию, объясню суть и покажу пример реализации перемещений на языке C++.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Views 42K
Comments 18

Способы передвижения компьютерных персонажей (часть 3)

C++ *Algorithms *
Tutorial
Это заключительная часть серии статей, описывающих перемещения компьютерных персонажей. Я расскажу о смешанных видах передвижений, которые сочетают в себе векторные и плиточные методы, небольшая оптимизация плиточных перемещений и ускорение просчетов добавлением сетки к векторам. А так же поведу общее сравнение всех описанных методов в виде таблицы.
Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Views 25K
Comments 13

Элон Маск скоро представит проект новой системы пассажирских перевозок Hyperloop

Robotics


Один из самых талантливых людей современности Элон Маск сообщил в своём твиттере, что 12 августа он планирует опубликовать проект своей новой идеи для её публичного обсуждения. Речь идёт о системе сверхбыстрых пассажирских перевозок под футуристичным названием Hyperloop.

Технически Hyperloop представляет из себя современное развитие идеи пневматической почты: это системы труб, из которых откачан воздух, и по которым перемещаются специальные капсулы с людьми и некоторым полезным грузом. Утверждается, что скорости перемещения капсул таковы, что за шесть часов окажется возможным совершить кругосветное путешествие.
Узнать подробности
Total votes 147: ↑139 and ↓8 +131
Views 123K
Comments 516

Как мы перевозим дата-центры (сложности миграции ЦОДов в средней полосе)

КРОК corporate blog

Результат переезда и объединения двух серверных и телекоммуникационной из офиса

Иногда нужно взять и перевезти дата-центр на новое место. Причины бывают самые разные. Например, переезд большого офиса вместе с ЦОДом внутри. Или сбор серверных крупной российской компании из регионов в Москву. Или вот весёлый случай — объединение банков, когда нужно совместить два дата-центра в один.

Я лично участвовал в 7 переездах, а наша команда перетащила уже точно свыше 30 больших объектов. Поэтому мы знаем толк в извращениях.

Переезд ИТ-оборудования отличается от классического переезда тем, что нельзя просто взять и перенести всё в другую точку за вечер субботы. Проблема в том, что ИТ-сервисы нужны круглосуточно и без простоев. Плюс масса нюансов по временной и новой сетевой инфраструктуре, по перевозке жёстких дисков в старых серверах и вытаскиванию двухтонных систем хранения данных краном из окон офиса, где после заезда поставили двери и постелили ковролин.
Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Views 32K
Comments 6

Геометрия в компьютерных играх

Development of mobile applications *Game development *Development for Android *
Всем привет! Когда-то давным-давно я делал простенькие игрушки на Flash. Например: игрушка — провести курсор мышки через лабиринт, не касаясь стен и уворачиваясь от всяких движущихся объектов. Некоторые из этих объектов двигаются по заданной траектории, некоторые гонятся за курсором, а некоторые стреляют в курсор другими движущимися объектами.

Сейчас я увлёкся программированием под андроид и сделал примерно такую же игрушку. И столкнулся с теми же геометрическими задачками с которыми встречался тогда.


Читать дальше →
Total votes 19: ↑11 and ↓8 +3
Views 12K
Comments 7

Перемещение — прошлый век! Альтернативы std::move в «C++ будущего»

Programming *C++ *

Каждый раз, когда мы пишем класс, управляющий ресурсами, мы задумываемся о том, что, скорее всего, для него придётся писать move-конструктор и move-присваивание. Ведь иначе объекты такого типа становятся неуклюжими, как std::mutex, ими тяжело пользоваться на практике: ни вернуть из функции, ни передать в функцию по значению, ни положить в вектор — а если положить его в другой класс как один из членов, то тот класс также «заболевает».


Положим, мы преодолели свою лень (хотя в Rust таких проблем нет!) и садимся писать move-операции для нашего класса. Проблема в том, что move-семантика в C++ имеет фундаментальное ограничение: каждый владеющий ресурсами тип с move-операциями должен иметь пустое состояние, то есть состояние с украденными ресурсами. Его нужно описывать в документации и предоставлять ему поддержку, то есть тратить время и силы на то, что нам не нужно.


Для абстрактных типов данных пустое состояние обычно бессмысленно — если у объекта украли его ресурсы, то он не сможет выполнять свои обычные функции. Но мы вынуждены это делать, чтобы реализовать move-семантику. Для некоторых типов пустое состояние недопустимо: open_file (в противовес теоретическому file), not_null_unique_ptr<T> (в противовес unique_ptr<T>).


Говоря словами Arthur O'Dwyer, мы заказывали телепорт, а нам дали «вас клонируют и убивают первоначальную копию». Чтобы вернуть себе телепорт, проходите под кат!

Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Views 16K
Comments 174

Drag-and-Drop на Python+OpenCV

Python *Programming *

В данной статье расскажу про простой Drag-and-Drop на Python+OpenCV.

Идея заключается в перемещении созданных квадратов на экране жестами руки. Так как нам потребуется как-то воспроизводить клик, то представим, что кликом будет служить соединение указательного и среднего пальцев. Теперь можно писать код.

Читать далее
Total votes 11: ↑11 and ↓0 +11
Views 2.8K
Comments 15