This commit is contained in:
Michael S. 2024-01-23 09:26:42 +01:00
parent bc77e0617f
commit d1b793dd80
3 changed files with 80 additions and 71 deletions

9
first.py Normal file
View file

@ -0,0 +1,9 @@
#!/usr/bin/python3
from math import sin,cos,radians
def berechne_dreieck(alpha,c):
alpha = radians(alpha)
a = cos(alpha)*c# x
b = sin(alpha)*c# y
return a,b
print(berechne_dreieck(45,100))

View file

@ -1,68 +0,0 @@
#!/usr/bin/python3
from math import sin,cos,radians
from time import sleep
import pygame
def berechne_dreieck(alpha,c):
alpha = radians(alpha)
a = cos(alpha)*c# x
b = -sin(alpha)*c# y
return a,b
def get_debug_text():
def text(text,line_counter):
debug_text = default_font.render(str(text), True, (0,0,0))
screen.blit(debug_text,(0,line_counter*default_font.get_height()))
line_counter = 1
globalvars =globals()
for a in globalvars:
text(f"{str(a)} = {str(globalvars[a])}",line_counter)
line_counter += 1
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode([500,500],pygame.RESIZABLE)
screensize = pygame.display.get_window_size()
default_font = pygame.font.SysFont("sans", 14)
start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10)
winkel = 0
running = True
if __name__ == "__main__":
while running:
screen.fill((255,255,255))
pressed_keys = pygame.key.get_pressed()
if pressed_keys[pygame.K_ESCAPE]:
exit()
if pressed_keys[pygame.K_UP]:
winkel += 1
if pressed_keys[pygame.K_DOWN]:
winkel -= 1
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
if event.type == pygame.WINDOWRESIZED:
screensize = pygame.display.get_window_size()
start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10)
screen.fill((0,0,0))
if winkel >= 360 or winkel <= -1:
winkel = 0
a,b = berechne_dreieck(winkel,200)#screensize[0]*screensize[1])
end_pos = start_pos[0]+a,start_pos[1]+b
# draw c schwarz
pygame.draw.line(screen,(0,0,0),start_pos,end_pos,3)
# draw a rot
pygame.draw.line(screen,(255,0,0),start_pos,(start_pos[0]+a,start_pos[1]),3)
# draw b blau
pygame.draw.line(screen,(0,0,255),(start_pos[0]+a,start_pos[1]),(start_pos[0]+a,start_pos[1]+b),3)
get_debug_text()
pygame.display.flip()
clock.tick(30)
#sleep(1)
winkel += 1

74
main.py
View file

@ -1,8 +1,76 @@
#!/usr/bin/python3 #!/usr/bin/python3
from math import sin,cos from math import sin,cos,radians
from time import sleep
import pygame
def berechne_dreieck(alpha,c): def berechne_dreieck(alpha,c):
alpha = radians(alpha)
a = cos(alpha)*c# x a = cos(alpha)*c# x
b = sin(alpha)*c# y b = -sin(alpha)*c# y
return a,b return a,b
print(berechne_dreieck(45,100)) def get_debug_text():
def text(text,line_counter):
debug_text = default_font.render(str(text), True, (0,0,0))
screen.blit(debug_text,(0,line_counter*default_font.get_height()))
line_counter = 1
globalvars =globals()
for a in globalvars:
text(f"{str(a)} = {str(globalvars[a])}",line_counter)
line_counter += 1
def get_best_size():
if screensize[0] <= screensize[1]:
best = screensize[0]
else:
best = screensize[1]
return best
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode([500,500],pygame.RESIZABLE)
screensize = pygame.display.get_window_size()
default_font = pygame.font.SysFont("sans", 14)
start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10)
winkel = 0
best_radios = (get_best_size())/2-20
running = True
if __name__ == "__main__":
while running:
screen.fill((255,255,255))
pressed_keys = pygame.key.get_pressed()
if pressed_keys[pygame.K_ESCAPE]:
exit()
if pressed_keys[pygame.K_UP]:
winkel += 1
if pressed_keys[pygame.K_DOWN]:
winkel -= 1
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
if event.type == pygame.WINDOWRESIZED:
screensize = pygame.display.get_window_size()
start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10)
screen.fill((0,0,0))
best_radios = (get_best_size())/2-20
if winkel >= 360 or winkel <= -1:
winkel = 0
a,b = berechne_dreieck(winkel,best_radios)#screensize[0]*screensize[1])
end_pos = start_pos[0]+a,start_pos[1]+b
# draw c schwarz
pygame.draw.line(screen,(0,0,0),start_pos,end_pos,3)
# draw a rot
pygame.draw.line(screen,(255,0,0),start_pos,(start_pos[0]+a,start_pos[1]),3)
# draw b blau
pygame.draw.line(screen,(0,0,255),(start_pos[0]+a,start_pos[1]),(start_pos[0]+a,start_pos[1]+b),3)
get_debug_text()
pygame.display.flip()
clock.tick(30)
#sleep(1)
winkel += 1