Um demonstrador interativo em C (Raylib) para visualização 3D e HUD dos conceitos de Azimute/Elevação, triângulos esféricos e posicionamento do alvo relativo ao eixo de rolagem da aeronave.
- Renderização 3D com Raylib
- Cálculo de AzT, ElT, AzR, ElR e ângulos esféricos j, J, E, F, G
- HUD 2D com posição radial por j e orientação por G + Roll
- Controles de câmera e interação para mover aeronave e alvo
Se você está começando agora, siga o passo a passo em: TUTORIAL.md
Um demonstrador interativo em C (Raylib) para visualização 3D e HUD dos conceitos de Azimute/Elevação, triângulos esféricos e posicionamento do alvo relativo ao eixo de rolagem da aeronave.
- Renderização 3D com Raylib
- Cálculo de AzT, ElT, AzR, ElR e ângulos esféricos j, J, E, F, G
- HUD 2D com posição radial por j e orientação por G + Roll
- Controles de câmera e interação para mover aeronave e alvo
- Cálculo de AzT, ElT, AzR, ElR e ângulos esféricos j, J, E, F, G
- HUD 2D com posição radial por j e orientação por G + Roll
- Controles de câmera e interação para mover aeronave e alvo
- Azimute do alvo:
AzT = atan2(X_T - X_A, Y_T - Y_A) - Elevação do alvo:
ElT = atan2(Z_T - Z_A, sqrt((X_T - X_A)^2 + (Y_T - Y_A)^2)) - Azimute/Elevação do eixo de rolagem (a partir do vetor frente da aeronave)
- Triângulos esféricos: cálculo de
f, h, C, D, Je ângulo relativoj - Ângulos auxiliares
E, F, Ge projeção no HUD:HUD = (j, G + Roll)
- Aeronave (mover): I/K (±Y), J/L (±X), U/O (±Z)
- Alvo (mover): W/S (±Y), A/D (±X), Q/E (±Z)
- Orientação aeronave: Setas (Yaw/Pitch), Z/X (Roll)
- Câmera: Botão direito do mouse e arraste para orbitar
O projeto usa CMake e busca a dependência Raylib via FetchContent (clona do GitHub se não houver Raylib instalado no sistema).
Pré-requisitos no Linux (dependências do Raylib):
build-essentialcmakegit- Bibliotecas X11 e afins:
libx11-dev libxrandr-dev libxi-dev libxinerama-dev libxcursor-dev mesa-common-dev libgl1-mesa-dev(OpenGL)
Passos:
cmake -S . -B build
cmake --build build -jExecutar:
./build/woe3dCMakeLists.txt: configuração de build e Raylibsrc/main.c: renderização 3D, HUD e matemática esférica
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International:x. Veja o arquivo LICENSE (a ser adicionado no repositório destino).
