-
Apresentação
Apresentação
Pretende-se que os alunos adquiram conhecimentos ba¿sicos sobre matemática e física, primariamente como ferramentas para a criação de jogos.
Nesta UC, os alunos irão aprender conceitos de trigonometria, cálculo vectorial, cálculo matricial, sistemas de coordenadas, probabilidades e estatística, cálculo numérico, funções paramétricas e sobre primitivas geométricas.
Também serão introduzidos a conceitos mais práticos de matemática, usando Python com as bibliotecas NumPy e Pygame para desenvolvimento de um motor de renderização 3d rudimentar (por exemplo).
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 4
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
1 | Obrigatório | Português
-
Código
Código
ULHT1075-17337
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
Sistemas de coordenadas cartesianas e bases de trigonometria.
Vectores: definição, propriedades, operações.
Múltiplos espaços de coordenadas: utilidade prática, exemplos, transformações.
Matrizes: definição e interpretação geométrica, determinantes, inversa; matrizes homogéneas. Transformações lineares: rotação, escalamento, projecção ;
Hierarquias e combinação de transformações
Rotação em 3D: forma matricial, ângulos de Euler e quaterniões.
Probabilidades e distribuições matemáticas
Funções paramétricas
Primitivas geométricas
Matemática para gráficos 3d
Exemplos em NumPy e Pygame
-
Objetivos
Objetivos
Ao concluir a unidade curricular, o aluno deve ter adquirido:
Domínio de trigonometria e de sistemas de coordenadas.
Domínio dos conceitos básicos de vector, matriz e transformações lineares.
Domínio das diferentes primitivas geométricas.
Domínio de conceitos básicos de probabilidades
Domínio de conceitos funções paramétricas
Domínio dos conceitos básicos de visualização em 3D, malhas de polígonos, e de como é implementado um pipeline clássico de renderização.
Capacidade de resolver problemas envolvendo a visualização, interpretação, manipulação e implementação de mundos virtuais 2D e 3D, tanto em papel como ao nível programação em Python (por exemplo).
-
Metodologias de ensino e avaliação
Metodologias de ensino e avaliação
Utilização da metodologia "peer review", utilizando por exemplo o software "socrative".
-
Bibliografia principal
Bibliografia principal
Dunn, F., & Parberry, I. (2011). 3D Math Primer for Graphics and Game Development (2nd ed.). CRC Press.
Craven, P. (2016). Program Arcade Games: With Python and Pygame. Apress.
Brownlee, J. (2018). Basics of Linear Algebra for Machine Learning: Discover the Mathematical Language of Data in Python. Self-published.
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não