• Можно ли заработать на фрилансе со знанием c++?

    WAR-S
    @WAR-S
    Конечно можно, пишите курсачи студентам, делайте лабораторные по языкам программирования.
    Ответ написан
    Комментировать
  • Можно ли заработать на фрилансе со знанием c++?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Что мешает взять заказ и узнать?
    Возможно вы подорвете пуканы стариков сделав что то фееричное за 3 копейки.
    А возможно что и нет
    Ответ написан
    Комментировать
  • Можно ли заработать на фрилансе со знанием c++?

    natalyos
    @natalyos
    Яжмаркетолог
    Пока ваш опыт будет отпугивать заказчиков, а для хорошей зарплаты в офисе не будет хватать доверия. Поэтому начните действительно со стажировки, получите хороший опыт, заодно поучитеь, портфолио будет, а дальше посмотрите, в какую сторону лучше развиваться.
    Ответ написан
    Комментировать
  • Как сделать точное вычисление физики гравитации на javascript в canvas методом Верле?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    elleremo, ускорение которое получают планеты пролетая вблизи других планет не является ошибкой!!!

    Этот эффект называется "гравитационный маневр для ускорения объекта" или же "гравитационная праща"

    Swingby_acc_anim.gifГравитационный манёвр для ускорения объекта (гравитационная праща)

    Не стал делать "точную имитацию" гравитации. Пошел по пути:
    1. каждый объект имеет массу равную объему объекта умноженному на плотность объекта
    2. каждый объект влияет на каждый динамический объект
    3. влияние пошагово рассчитывается по формуле (почти) :
    V = сумма(F); // суммарный вектор сил
    F = k*M/D; // сила влияния (расчитывается для каждого объекта оказывающего влияние на текущий)
    M - масса объекта
    D - квадрат расстояния между центрами масс объектов
    k - коэффициент для подгона скоростей (выполняет роль гравитационной постоянной)

    Алгоритм расчета (пошагово):
    1. Для каждого динамического объекта происходит расчет новых координат (сумма текущих координат и вектора скорости, рассчитанного на предыдущей итерации цикла симуляции)
    2. Каждый динамический объект сверяется с каждым объектом на предмет столкновения. Если расстояние между центрами 2х сравниваемых объектов меньше суммы их радиусов то происходит слияние. Если объединяются статичный и динамический объекты, то динамический удаляется а его масса добавляется к статическому с перерасчетом плотности, радиуса и объема. Если объединяются 2 динамических объекта то к первому добавляется масса второго с перерасчетом плотности, радиуса и объема, координаты и вектора скоростей пересчитываются как взвешеная сумма координат и векторов скоростей обоих объектов. После второй объект удаляется.
    3. Для каждого динамического объекта расчитывается сумма векторов силы влияния притяжения всех объектов. Затем данная сумма и вектор скорости текущего объекта суммируются
    4. Переход к новой итерации цикла симуляции.

    Вся реализация расчета тут (в конце скрипта). Все формулы вынесены в класс Calc.

    видеодемонстрация
    демонстрация (масштабируется колесиком мышки, перетаскивается с помощью ЛКМ)

    Добавил слияние планет при столкновении (массы суммируются, вектора скоростей суммируются, позиция переносится в центр масс)
    Добавил источники (автоматически генерируют планеты)
    Добавил отдельные кнопки для пуска и остановки источников

    5bbd21b57da99316097769.png
    Добавил настройки:
    • параметры отображения
      • отображать сетку - вкл/выкл отображение координатной сетки
      • отображать источники - вкл/выкл отображение объектов, генерирующих планеты
      • отображать шлейф - вкл/выкл отображение траектории планет

    • Настройки физических величин - позволяют задаь минимальные и максимальные значения для размеров и плотности статических и динамических объектов
    • Управление симуляцией
      • шаг симуляции - экспериментальная величина регулирующая точность расчетов
      • скорость источников - изменяет скорость, с которой источники генерируют планеты
      • включить источники - вкл/выкл генерацию планет источниками



    Доработал механизм расчета влияния гравитации, теперь у каждого объекта масса считается исходя из объема и плотности.
    Ввел изменение в процесс генерации новых планет, теперь они выставляются на лист с рассчитанной первой космической скоростью относительно центрального статичного объекта.
    Установил статичным объектам повышенную плотность, что существенно увеличило их массу (можно менять на панели настроек)
    Установил динамическим объектам пониженную плотность, что существенно уменьшило их массу и взаимовлияние (можно менять на панели настроек)

    5bbd22bc10be0483291405.png
    Ответ написан
    2 комментария
  • Как применяется физика в разработке игр?

    @Samostrel
    Если хотите быстро "потрогать" физику в играх, используйте Unity и этот туториал
    https://catlikecoding.com/unity/tutorials/movement/
    Ответ написан
    Комментировать
  • Как применяется физика в разработке игр?

    @Sergey_0287
    Физика может пригодится для того, чтобы сделать графику более реалистично, приятной глазу. Знание физики может помочь в понимании как строить тот или иной уровень.
    Ответ написан
    Комментировать
  • Как применяется физика в разработке игр?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    Просто представьте, что вы разрабатываете одну из следующих игр:

    Бильярд
    расчет траекторий шаров, с учетом приложенного к шару вектора силы и точки его приложения, вращательных моментов, эфекта торможения (гашения скорости) шаров со временем.

    Гоночный симулятор
    расчет траектории машины с учетом торможения/ускорения, инерции, столкновения с препятствиями/другими машинами, расчет деформаций элементов кузова при ударах и т.д.

    Шутер
    траектории разлета осколков/тел/предметов при взрывах. Транспортные средства (если есть) как в гоночных симуляторах. Поведение модели тела (траектории откидывания) игрока/персонажа/моба при физическом воздействии на него (удар авто средством/дубиной/прикладом/сковородкой, попадание пули, падение с высоты) с учетом распределения принятой моделью энергии удара по телу, силой этого удара и точкой его приложения. Например попали в голову - откидывает голову, попали в правое плече - пошло откидывание плеча и разворот корпуса, при этом противоположная сначала отстанет от разворота а потом полетит с ускорением вокруг тела по траектории вращения.

    Космический симулятор
    комплексное влияние источников гравитации друг на друга и на корабли, с учетом масс всех участвующих во взаимодействии объектов и как следствие их инерции

    Все это физика и геометрия, достаточно сложно переплетенные между собой
    Ответ написан
    3 комментария
  • Для чего программисту нужно знать физику?

    @Dvvarreyn
    Программисту очень важно знать физику, особенно законы сохранения.
    Постучал по клавишам — нужно пойти перекусить, чтобы восполнить потери. Без этого никуда.
    Ответ написан
    Комментировать
  • Для чего программисту нужно знать физику?

    @mamkaololosha
    Если вы начинаете программировать что-то отличное от веба и прочего LAMP, а именно: поиск, обработку сигналов, графику, физику для игр, железяки и прочие "computer scince"-ёмкие вещи, то без знания матана, физики и прочего вы просто не сможете решить поставленную задачу. Все основополагающие вещи: оптика, процессоры, видеокарты, интернет, оптоволокно, hdd это физика. IT это тоже самое, что машиностроение. Только одни "делают машины", а другие их "красят". Так вот для того чтобы "делать машины" нужны физика, матан и прочие старперские скучные вещи.
    Ответ написан
    Комментировать
  • Как победить в олимпиаде по программированию?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Подскажите, пожалуйста, с чего же все-таки именно начать?
    1. Нужно научиться понимать текст и требования задачи.
    2. Находить несколько (а лучше - все возможные) вариантов (алгоритмов) решения поставленной задачи (а их всегда более 1-го), и выбирать наиболее быстрый.
    3. Научиться чётко и по шагам формулировать алгоритм/блок-схему решения (в голове или на бумаге) до начала написания кода в целях экономии времени на отладку кода и при поиске и устранении возможных ошибок.
    4. Научиться чётко и с первой попытки конвертировать алгоритм в код на выбранном языке программирования.

    Вот, для разминки: попробуйте начать с написания алгоритма для поиска решения полной сборки кубика-Рубика (все грани одного цвета) из любого начального состояния с наименьшим количеством задействованных (вращаемых) граней.
    Ответ написан
    Комментировать
  • Как победить в олимпиаде по программированию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. Пользуясь поиском, находишь результаты и задачи уже прошедших олимпиад.
    2. Пользуясь тетрадкой и ручкой пробуешь решить эти задачи, чтобы ты понимал смысл их решения на логическо-математическом уровне.
    3. Потом пробуешь написать программу, которая решает конкретную задачу.

    Таким образом, программирование - это последний этап. Сперва необходимо понимать как именно вычисляется/находится решение хотя бы руками на бумажке.

    Повторяешь шаги 1-3 раз 10 с разными задачами.

    Потом находишь организатора или тренера в вашем учебном заведении, который у вас занимается олимпиадами, рассказываешь ему что сделал и участвуешь.
    Ответ написан
    Комментировать
  • Как победить в олимпиаде по программированию?

    @dimoff66
    Кратко о себе: Я есть
    Насколько я понимаю в олимпиадах побеждают те, кого специально на них натаскивают преподаватели в специализированных классах. Но надо ли вам это? Просто участвуйте и получайте удовольствие от решения. Хотя лично для меня удовольствие решать задачи на скорость а не на качество - сомнительное занятие.
    Ответ написан
    Комментировать
  • Как готовить себя к олимпиадному программированию?

    Посмотрите данные темы:
    Длинная арифметика
    Динамическое программирование
    Теория графов
    Рекурсия, перебор
    Сортировка и последовательности
    Комбинаторика
    Простая математика
    Геометрия
    Целочисленная арифметика
    Математическое моделирование
    Жадный алгоритм
    Структуры данных
    Двумерные массивы


    Почитайте о них, разберите каждую. Месяц - слишком мало для подготовки, но если у Вас школьная олимпиада, то еще ничего.

    Архив задач и тренировка здесь:
    acmp.ru
    acm.timus.ru
    Codeforces
    Это очень полезные ресурсы (системы проверки), в которые входят очень интересные и трудные задачи, как раз предназначенные для олимпиадного программирования.
    Ознакомьтесь здесь:
    Олимпиадное программирование для новичков

    Набор языков программирования в каждой системе разный. Вот некоторые из них:
    Набор яп для тимуса
    Для acmp.ru

    Но для начала почитайте и разберите эти ресурсы/книги про алгоритмы:
    algolist.manual.ru
    Кормен Т., Лейзерсон Ч., Ривест Р., Штайн K. - Алг...

    Ну и конечно, подтяните математику. Без математики далеко не уйдете.

    Ответ на Ваш вопрос: для длинной арифметики подошел бы Java.
    Ответ написан
    2 комментария