Математика используется в 3D (Игра) Программирование Механизма

Я увидел ответ @ Василий Комаров. Аналогичный подход, но с использованием абстрактного класса HandlerInterceptorAdapter вместо использования HandlerInterceptor .

Вот пример ...

@Component
public class CustomInterceptor extends HandlerInterceptorAdapter {
   @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
    }
}

@Configuration
public class InterceptorConfig extends WebMvcConfigurerAdapter {

    @Autowired
    private CustomInterceptor customInterceptor ;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(customInterceptor );
    }

}
24
задан Alex 24 August 2009 в 03:49
поделиться

4 ответа

Матрицы, триг, геометрия в основном и немного линейной алгебры

Посмотрите здесь http://www.essentialmath.com/

18
ответ дан Martin Beckett 28 November 2019 в 23:30
поделиться

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

Сколько вы будете использовать этот материал ежедневно, зависит от того, что вы делаете. Если вы программист графики и, следовательно, создаете сам движок 3D-графики, то вы, вероятно, будете реализовывать или поддерживать реализации библиотек классов и функций, которые фактически выполняют математические вычисления, поэтому было бы относительно важно знать кровавые детали. Если вы используете библиотеку в качестве клиента или работаете над другой частью игрового движка (AI, аудио, пользовательский интерфейс, камера и т. Д.), Вам необходимо концептуально понимать математику, но вы, безусловно, можете избежать наказания, не зная, как реализовать перевернутая матрица на доске над вашей головой.

Графические API не избавляют от необходимости знать эту математику; они ограничены рисованием, поэтому все управление сценой и моделирование мира необходимо реализовывать вне графического API. Конечно, там тоже есть варианты промежуточного программного обеспечения, но многие студии выпускают свои собственные системы.

На этот рынок нацелено изрядное количество ресурсов. Например, на Amazon есть такие книги, как 3D Math Primer For Graphics and Game Development , и, вероятно, в Интернете тоже есть много чего.

На этот рынок нацелено изрядное количество ресурсов. Например, на Amazon есть такие книги, как 3D Math Primer For Graphics and Game Development , и, вероятно, в Интернете тоже есть много чего.

На этот рынок нацелено изрядное количество ресурсов. Например, на Amazon есть такие книги, как 3D Math Primer For Graphics and Game Development , и, вероятно, в Интернете тоже есть много чего.

4
ответ дан 28 November 2019 в 23:30
поделиться

В игру вступает сложная математика, но наиболее важным является понимание концепций, лежащих в основе такой математики, а часто не самой математики. Если вы понимаете, как все это происходит воедино, часто существуют вспомогательные методы для многих необходимых вычислений. Конечно, это также во многом зависит от платформы разработки, которую вы используете.

2
ответ дан 28 November 2019 в 23:30
поделиться

Линейная алгебра! Много множества линейной алгебры!

Вот только классы и примерные ситуации, когда они нуждаются в них

  • вектор - положение, скорость, нормали
  • матрица - преобразования
  • Кватернион - вращения (отличные для костных анимаций )
  • Рэй - Выявление снарядового столкновения
  • - Обнаружение столкновения снаряда
  • Frustum - Render Canding
  • Сфера - Визуализация отбрасывания, быстрое столкновение
  • Осис-выравнивание ограничивающая коробка - Culting, Collision Tests, Spacial Partinging
  • Ориентированная ограничивающая система - Испытания столкновений
  • Выпуклости HULL - столкновение, пространственное разделение
  • и т. Д.

Вы должны начать с вектора и матрицы, поскольку они будут использоваться везде в двигателе (графика, физика, AI и т. Д.)

19
ответ дан 28 November 2019 в 23:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: