Skip to content

ArvoreDosSaberes/Warfare_Observation_3d_engagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI visitors License: CC BY-SA 4.0 Language: Portuguese Language-C CMake Raylib Issues Stars Forks PRs Welcome Watchers Last Commit Contributors

Warfare Observation 3D Engagement

Demonstração do aplicativo

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

Tutorial para iniciantes

Se você está começando agora, siga o passo a passo em: TUTORIAL.md

Warfare Observation 3D Engagement

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

Conceitos Implementados

  • 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, J e ângulo relativo j
  • Ângulos auxiliares E, F, G e projeção no HUD: HUD = (j, G + Roll)

Controles

  • 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

Build

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-essential cmake git
  • 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 -j

Executar:

./build/woe3d

Estrutura

  • CMakeLists.txt: configuração de build e Raylib
  • src/main.c: renderização 3D, HUD e matemática esférica

Licença

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International:x. Veja o arquivo LICENSE (a ser adicionado no repositório destino).

About

Estudo sobre ângulo de visão em sistemas 3D durante combate entre duas aeronaves, Estudos de Guerra Eletrônica

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published