편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.05.12

    파이썬 turtle 포물선 운동 궤적 튕기게 하는 방법을 알고 싶습니다


    import turtle as t                                                                                                                                          
    import math
    
    tm=0.3                                                                                                                                                               
    ux=0                                                                                                                                                                   
    uy=0                                                                                                                                                                   
    dx=0                                                                                                                                                                   
    dy=0                                                                                                                                                                 
    g=9.8                                                                                                                                                              
    velo=0                                                                                                                                                             
    ang=0
    
    def draw_pos(x,y):                                                                                                                
        velo=t.numinput("입력","속도: ",50,10,100)                                          
        ang=math.radians(t.numinput("입력","각도: ",45,0,360))
    
        t.clearstamps()
        t.hideturtle()
        t.setpos(x,y)
        t.showturtle()
        t.stamp()
    
        hl=-(t.window_height()/2)
    
        ux=velo*math.cos(ang)
        uy=velo*math.cos(ang)
    
        while True:
            uy=uy+(-1*g)*tm
            dy=t.ycor()+(uy*tm)-(g*tm**2)/2
            dx=t.xcor()+(ux*tm)
            if dy>hl:
                t.goto(dx,dy)
    
            else:
                break
    t.setup(600,600)
    t.shape("circle")
    t.shapesize(0.3,0.3,0)
    t.penup()
    s=t.Screen()
    s.onscreenclick(draw_pos)
    s.listen()
    

    여기서 공이 아래에 닿을 때 수직선에 대해 입사각과 반사각이 동일하다고 가정할 때 바닥에 닿은 아래 면으로부터 추가로 궤적을 그리는데 궤적 의 y값이 하단보다 커지던지 x값이 우측면 값보다 커지면 멈추게 하려면 어떻게 해야 하나요?

    이미지

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.05.12

    파이썬 포물선 운동 궤적 튕기게 하는 방법을 알고 싶습니다


    import turtle as t
    import math

    tm=0.3
    ux=0
    uy=0
    dx=0
    dy=0
    g=9.8
    velo=0
    ang=0

    def draw_pos(x,y):
    velo=t.numinput("입력","속도: ",50,10,100)
    ang=math.radians(t.numinput("입력","각도: ",45,0,360))

    t.clearstamps()
    t.hideturtle()
    t.setpos(x,y)
    t.showturtle()
    t.stamp()
    
    hl=-(t.window_height()/2)
    
    ux=velo*math.cos(ang)
    uy=velo*math.cos(ang)
    
    while True:
        uy=uy+(-1*g)*tm
        dy=t.ycor()+(uy*tm)-(g*tm**2)/2
        dx=t.xcor()+(ux*tm)
        if dy>hl:
            t.goto(dx,dy)
    
        else:
            break
    

    t.setup(600,600) t.shape("circle") t.shapesize(0.3,0.3,0) t.penup() s=t.Screen() s.onscreenclick(draw_pos) s.listen() 여기서 공이 아래에 닿을 때 수직선에 대해 입사각과 반사각이 동일하다고 가정할 때 바닥에 닿은 아래 면으로부터 추가로 궤적을 그리는데 궤적 의 y값이 하단보다 커지던지 x값이 우측면 값보다 커지면 멈추게 하려면 어떻게 해야 하나요? 이미지