Você está aqui: Python ::: Pygame ::: Linhas

Como desenhar linhas em determinados ângulos no Pygame

Quantidade de visualizações: 716 vezes
Nesta dica mostrarei como podemos desenhar linhas em determinados na biblioteca Pygame do Python. Note que criei um função que nos permite especificar as coordenadas x e y inicias, o ângulo de inclinação da linha e o seu comprimento, assim como a cor e sua largura.

Eis o código Pygame completo e logo abaixo a imagem com a saída resultante:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar as bibliotecas necessárias
import math
import pygame, sys
from pygame.locals import *

# função personalizada que recebe as coordenadas x e y iniciais
# da linha, seu comprimento, o ângulo, sua cor e sua largura e a desenha na
# tela
def desenhar_linha_angulo(x, y, comprimento, angulo, superficie, cor, largura):
  pygame.draw.line(superficie, cor, (x, y), ( (x + 
    math.cos(angulo / 180.0 * math.pi) * comprimento),
    (y - math.sin(angulo / 180.0 * math.pi) * comprimento)), largura)

# inicializa a biblioteca
pygame.init()
# obtém a superfície do jogo e define o tamanho da tela
DISPLAYSURF = pygame.display.set_mode((500, 400), 0, 32)
# vamos definir o título da janela do jogo
pygame.display.set_caption('Como desenhar linhas em determinados ângulos no Pygame')

# vamos criar algumas cores
BRANCO = (255, 255, 255)
VERMELHO = (255, 0, 0)
AZUL = (0, 0, 255)
VERDE = (0, 255, 0)

# vamos pintar a tela toda de branco
DISPLAYSURF.fill(BRANCO)

# vamos chamar a função que desenha a linha em um determinado
# ângulo. Vou pedir para desenhar três linhas, todas em ângulos diferentes
desenhar_linha_angulo(100, 300, 300, 45, DISPLAYSURF, VERMELHO, 3)
desenhar_linha_angulo(100, 300, 500, 75, DISPLAYSURF, VERDE, 5)
desenhar_linha_angulo(100, 300, 250, -370, DISPLAYSURF, AZUL, 2)

# e aqui nós entramos no loop do game
while True:
  # monitoramos os eventos
  for evento in pygame.event.get():
   # se o evento foi um pedido para sair
   if evento.type == QUIT:
    # fechamos a tela do jogo 
    pygame.quit()
    # e saimos do programa
    sys.exit()

   # redesenha a tela continuamente 
   pygame.display.update()

Ao executarmos este código Pygame nós teremos o seguinte resultado:



Link para compartilhar na Internet ou com seus amigos:

Python ::: wxPython ::: wxFrame

Como usar a classe wx.Frame para criar um objeto window top-level (janelas top-level) em aplicações wxPython

Quantidade de visualizações: 8779 vezes
Um objeto window top-level é um widget (geralmente um frame) que não está contido em nenhum outro widget na aplicação. É o que o usuário geralmente aponta e diz "Este é o programa". O objeto window top-level é geralmente a janela principal de sua aplicação e contém widgets (controles) e objetos de interface com os quais o usuário interage. Desta forma, a aplicação é encerrada quando todas as janelas top-level são fechadas.

Sua aplicação deve ter no mínimo um objeto window top-level. O objeto window top-level geralmente é uma subclasse de wx.Frame, embora ele possa também ser uma subclasse de wx.Dialog. Na maioria das vezes, definiremos subclasses customizadas de wx.Frame para usar em nossas aplicações.

Contudo, há um grande número de subclasses pré-definidas de wx.Dialog que fornecem muitos dos diálogos típicos que poderíamos encontrar em uma aplicação.

A classe wx.Frame é derivada de: wx.TopLevelWindow, wx.Window, wx.EvtHandler e wx.Object.


Python ::: Dicas & Truques ::: Lista (List)

Como percorrer os elementos de uma lista Python usando o laço for e índices

Quantidade de visualizações: 13652 vezes
Nesta dica eu mostro como é possível usar o laço for da linguagem Python para percorrer individual os elementos de uma list. Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# função principal do programa
def main():
  # cria uma lista de nomes
  nomes = ['Carlos', 'Ricardo', 'Osmar']
 
  # percorre a lista usando o laço for
  for i in range(len(nomes)):
    print("%d - %s" % ((i + 1), nomes[i]))
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

1 - Carlos
2 - Ricardo
3 - Osmar


Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Matemática e Estatística

Python para estatística - Como calcular a mediana de um conjunto de valores usando o método median() da biblioteca NumPy da linguagem Python

Quantidade de visualizações: 16130 vezes
A mediana (Md) representa o valor central de um conjunto de dados. Para encontrá-la, é necessário colocar os valores em ordem crescente ou decrescente.

Quando o número elementos de um conjunto é par, a mediana é encontrada pela média dos dois valores centrais. Assim, esses valores são somados e divididos por dois.

Veja a seguinte figura:



A biblioteca NumPy do Python nos oferece o método median(), que recebe um vetor de valores númericos (inteiro ou decimais) e retorna a mediana deles. Veja um exemplo com os primeiros valores da figura (um conjnto ímpar):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a biblioteca NumPy
import numpy

def main():
  # valores a serem observados
  valores = [2, 2, 3, 7, 8, 9, 9]

  # vamos obter a mediana
  mediana = numpy.median(valores)

  # vamos mostrar o resultado
  print("A mediana dos valores é:", mediana)

if __name__== "__main__":
  main()

Ao executarmos este código nós teremos o seguinte resultado:

A mediana dos valores é: 7.0

Veja agora o exemplo usando o segundo grupo de valores da imagem (conjunto par):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a biblioteca NumPy
import numpy

def main():
  # valores a serem observados
  valores = [1, 4, 4, 5, 6, 7, 7, 7]

  # vamos obter a mediana
  mediana = numpy.median(valores)

  # vamos mostrar o resultado
  print("A mediana dos valores é:", mediana)

if __name__== "__main__":
  main()

O resultado da execução desse código será:

A mediana dos valores é: 5.5

É importante observar que o método median() da NumPy não exige que os valores estejam ordenados. A própria função se encarrega dessa tarefa.


Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Equação da continuidade

Um avião está se movendo pelo ar com velocidade de 220 m/s. As linhas de fluxo acima da asa estão comprimidas em 88% de sua área original. As linhas de fluxo abaixo da asa não estão comprimidas. Qual é a velocidade do ar acima da asa do avião em relação a esta?

A) 220 m/s

B) 26,4 m/s

C) 414 m/s

D) 194 m/s

E) 250 m/s
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual instrução é usada para interromper um laço em Python?

A) return

B) catch

C) break

D) continue

E) exit
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Escoamento laminar

Em escoamento laminar, a região de entrada do fluido é definida por um comprimento de entrada. Esse comprimento é compreendido entre quais distâncias?

A) Entre a região de entrada e a região de comportamento completamente desenvolvido.

B) Entre a região de entrada e a região de comportamento parcialmente desenvolvido.

C) Entre a região de entrada e a região de saída do escoamento.

D) Entre a região de comportamento completamente desenvolvido e a região de saída do escoamento.

E) Entre a região de entrada e a região com defeito de velocidade.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual é a forma correta de se invocar uma função JavaScript chamada "calcular"?

A) call function calcular();

B) calcular();

C) def call calcular();

D) call calcular();
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Dimensionamento de Redes de Distribuição de Água

A pergunta essencial que você tem de responder para dimensionar uma rede de abastecimento é: quantos litros de água você precisa distribuir para essa população? Quanto às redes de abastecimento podemos afirmar que:

Selecione a resposta:

A) O coeficiente de majoração k1 aplicado no cálculo da vazão que circula na rede, se refere ao fator de correção quanto ao dia de menor consumo.

B) Pode-se obter o diâmetro mínimo da tubulação, dos condutos, ajudando a dimensionar as redes de distribuição em função das velocidades máximas e vazões máximas conforme normas técnicas.

C) O coeficiente de majoração k2 aplicado no cálculo da vazão que circula na rede, se refere ao fator de correção quanto a hora de menor consumo.

D) Ao dividir a vazão de distribuição pelo comprimento da rede (L), você obtém a vazão específica.

E) A rede de abastecimento, e distribuição para uma região pode ser configurada em ramificada, em grelha, em cela e em diagonais.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 34 usuários muito felizes estudando em nosso site.