Biblioteca que cria horizonte artificial para projetos em Python.
Passos:
horizon = ArtificialHorizon(vortex, size)
(vortex:Ponto central do instrumento, size: Tamanho do instrumento)
Atributo tk_canvas: Recebe um objeto do tipo "Canvas", da biblioteca Tkinter, em que escreve o horizonte automaticamente quando o método "horizon.update()" é chamado.
Atributo pygame_display: Recebe um objeto do tipo "pygame.display", da biblioteca Pygame, em que escreve o horizonte automaticamente quando o método "horizon.update()" é chamado.
horizon_lines = horizon.update(angle_value)
"horizon_lines" será uma array que contém outras arrays que são linhas que devem ser desenhadas na tela fazendo um loop for.
horizon_lines[0] -> [ponto1, ponto2]
Uma linha pode ser definida por 2 pontos.
horizon_lines[0][0] -> [10, 20] (Valores hipotéticos de um dos pontos da linha)
Caso já tenha passado o atributo tk_canvas ou pygame_display, não será nessessário armazenar as linhas na variável "horizon_lines":
horizon.update(angle_value)
Screencast from 2023-03-10 11-31-47.webm
Adicionado blur na atualização do ângulo que deixa a atualização mais suave.
Adicionado text que descreve o ângulo do objeto.
Outras modificações
Screencast from 2023-03-10 23-19-02.webm
O horizonte no resultado foi utilizado em um projeto de robótica privado que monitora sensores de um arduino pela porta serial e utiliza C++.
Adicionado eixo x.