import tkinter
import math
def meter_to_pixel(meters):
return meters * 10
def move():
global x, y, vy, t, x1, y1
# ボールの新しい位置を計算
if MARGIN <= x <= WIDTH - MARGIN and MARGIN <= y <= HEIGHT - MARGIN:
x = x + meter_to_pixel(vx0 * dt)
v1 = vy
v2 = vy - g * dt
y = y + meter_to_pixel((v1 + v2) / 2.0 * dt)
vy = v2
t = t + dt
else:
x = x0
y = y0
vy = vy0
t = t0
# ボールの位置を更新
canvas.coords('ball', x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN)
canvas.coords('ball1', x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN)
# 目盛り線を描画
draw_scale_lines()
window.after(10, move) # 10ミリ秒ごとにmove関数を呼び出す
def draw_scale_lines():
# 目盛り線を描画
for i in range(1, (WIDTH - MARGIN) // (10 * scale_factor) + 1):
x_pos = i * 10 * scale_factor
canvas.create_line(x_pos, MARGIN, x_pos, HEIGHT - MARGIN, fill='#d2d2d2')
for i in range(1, (HEIGHT - MARGIN) // (10 * scale_factor) + 1):
y_pos = i * 10 * scale_factor
canvas.create_line(MARGIN, y_pos, WIDTH - MARGIN, y_pos, fill='#d2d2d2')
# WIDTH, HEIGHT = 1000, 500
WIDTH, HEIGHT = 800, 600
MARGIN = 10
t0 = 0.0
dt = 0.1
g = 9.8
v0 = float(input('初速度(m/s)を入力してください: '))
degrees = float(input('角度(度)を入力してください: '))
theta = degrees * math.pi / 180
vx0 = v0 * math.cos(theta)
vy0 = v0 * math.sin(theta)
x0 = meter_to_pixel(400) # スケールファクターを適用
y0 = meter_to_pixel(400) # スケールファクターを適用
x1 = meter_to_pixel(250) # スケールファクターを適用
y1 = meter_to_pixel(HEIGHT / 2) # スケールファクターを適用
x = x0
y = y0
vy = vy0
t = t0
# スケールファクターを設定
scale_factor = 100 // 10 # 現実世界の10メートル(m)に対して100ピクセル(pixel)
geo_str = str(WIDTH+MARGIN*2) + 'x' + str(HEIGHT+MARGIN*2)
window = tkinter.Tk()
window.geometry(geo_str)
window.title('moving')
canvas
= tkinter.
Canvas(window, width
=WIDTH, height
=HEIGHT, bg
='white')canvas.place(x=MARGIN, y=MARGIN)
canvas.create_oval(x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN, fill='red', outline='', tags='ball')
canvas.create_oval(x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN, fill='gray', outline='', tags='ball1')
move()
window.mainloop()
aW1wb3J0IHRraW50ZXIKaW1wb3J0IG1hdGgKCmRlZiBtZXRlcl90b19waXhlbChtZXRlcnMpOgogICAgcmV0dXJuIG1ldGVycyAqIDEwCgpkZWYgbW92ZSgpOgogICAgZ2xvYmFsIHgsIHksIHZ5LCB0LCB4MSwgeTEKCiAgICAjIOODnOODvOODq+OBruaWsOOBl+OBhOS9jee9ruOCkuioiOeulwogICAgaWYgTUFSR0lOIDw9IHggPD0gV0lEVEggLSBNQVJHSU4gYW5kIE1BUkdJTiA8PSB5IDw9IEhFSUdIVCAtIE1BUkdJTjoKICAgICAgICB4ID0geCArIG1ldGVyX3RvX3BpeGVsKHZ4MCAqIGR0KQogICAgICAgIHYxID0gdnkKICAgICAgICB2MiA9IHZ5IC0gZyAqIGR0CiAgICAgICAgeSA9IHkgKyBtZXRlcl90b19waXhlbCgodjEgKyB2MikgLyAyLjAgKiBkdCkKICAgICAgICB2eSA9IHYyCiAgICAgICAgdCA9IHQgKyBkdAogICAgZWxzZToKICAgICAgICB4ID0geDAKICAgICAgICB5ID0geTAKICAgICAgICB2eSA9IHZ5MAogICAgICAgIHQgPSB0MAoKICAgICMg44Oc44O844Or44Gu5L2N572u44KS5pu05pawCiAgICBjYW52YXMuY29vcmRzKCdiYWxsJywgeC1NQVJHSU4sIChIRUlHSFQteSktTUFSR0lOLCB4K01BUkdJTiwgKEhFSUdIVC15KStNQVJHSU4pCiAgICBjYW52YXMuY29vcmRzKCdiYWxsMScsIHgxLU1BUkdJTiwgKEhFSUdIVC15MSktTUFSR0lOLCB4MStNQVJHSU4sIChIRUlHSFQteTEpK01BUkdJTikKCiAgICAjIOebruebm+OCiue3muOCkuaPj+eUuwogICAgZHJhd19zY2FsZV9saW5lcygpCgogICAgd2luZG93LmFmdGVyKDEwLCBtb3ZlKSAjIDEw44Of44Oq56eS44GU44Go44GrbW92ZemWouaVsOOCkuWRvOOBs+WHuuOBmQoKZGVmIGRyYXdfc2NhbGVfbGluZXMoKToKICAgICMg55uu55ub44KK57ea44KS5o+P55S7CiAgICBmb3IgaSBpbiByYW5nZSgxLCAoV0lEVEggLSBNQVJHSU4pIC8vICgxMCAqIHNjYWxlX2ZhY3RvcikgKyAxKToKICAgICAgICB4X3BvcyA9IGkgKiAxMCAqIHNjYWxlX2ZhY3RvcgogICAgICAgIGNhbnZhcy5jcmVhdGVfbGluZSh4X3BvcywgTUFSR0lOLCB4X3BvcywgSEVJR0hUIC0gTUFSR0lOLCBmaWxsPScjZDJkMmQyJykKCiAgICBmb3IgaSBpbiByYW5nZSgxLCAoSEVJR0hUIC0gTUFSR0lOKSAvLyAoMTAgKiBzY2FsZV9mYWN0b3IpICsgMSk6CiAgICAgICAgeV9wb3MgPSBpICogMTAgKiBzY2FsZV9mYWN0b3IKICAgICAgICBjYW52YXMuY3JlYXRlX2xpbmUoTUFSR0lOLCB5X3BvcywgV0lEVEggLSBNQVJHSU4sIHlfcG9zLCBmaWxsPScjZDJkMmQyJykKCgojIFdJRFRILCBIRUlHSFQgPSAxMDAwLCA1MDAKV0lEVEgsIEhFSUdIVCA9IDgwMCwgNjAwCk1BUkdJTiA9IDEwCgp0MCA9IDAuMApkdCA9IDAuMQpnID0gOS44Cgp2MCA9IGZsb2F0KGlucHV0KCfliJ3pgJ/luqYobS9zKeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogJykpCmRlZ3JlZXMgPSBmbG9hdChpbnB1dCgn6KeS5bqmKOW6pinjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQ6ICcpKQoKdGhldGEgPSBkZWdyZWVzICogbWF0aC5waSAvIDE4MAp2eDAgPSB2MCAqIG1hdGguY29zKHRoZXRhKQp2eTAgPSB2MCAqIG1hdGguc2luKHRoZXRhKQp4MCA9IG1ldGVyX3RvX3BpeGVsKDQwMCkgIyDjgrnjgrHjg7zjg6vjg5XjgqHjgq/jgr/jg7zjgpLpgannlKgKeTAgPSBtZXRlcl90b19waXhlbCg0MDApICMg44K544Kx44O844Or44OV44Kh44Kv44K/44O844KS6YGp55SoCngxID0gbWV0ZXJfdG9fcGl4ZWwoMjUwKSAjIOOCueOCseODvOODq+ODleOCoeOCr+OCv+ODvOOCkumBqeeUqAp5MSA9IG1ldGVyX3RvX3BpeGVsKEhFSUdIVCAvIDIpICMg44K544Kx44O844Or44OV44Kh44Kv44K/44O844KS6YGp55SoCnggPSB4MAp5ID0geTAKdnkgPSB2eTAKdCA9IHQwCgojIOOCueOCseODvOODq+ODleOCoeOCr+OCv+ODvOOCkuioreWumgpzY2FsZV9mYWN0b3IgPSAxMDAgLy8gMTAgIyDnj77lrp/kuJbnlYzjga4xMOODoeODvOODiOODq++8iG3vvInjgavlr77jgZfjgaYxMDDjg5Tjgq/jgrvjg6socGl4ZWwpCgpnZW9fc3RyID0gc3RyKFdJRFRIK01BUkdJTioyKSArICd4JyArIHN0cihIRUlHSFQrTUFSR0lOKjIpCndpbmRvdyA9IHRraW50ZXIuVGsoKQp3aW5kb3cuZ2VvbWV0cnkoZ2VvX3N0cikKd2luZG93LnRpdGxlKCdtb3ZpbmcnKQoKY2FudmFzID0gdGtpbnRlci5DYW52YXMod2luZG93LCB3aWR0aD1XSURUSCwgaGVpZ2h0PUhFSUdIVCwgYmc9J3doaXRlJykKY2FudmFzLnBsYWNlKHg9TUFSR0lOLCB5PU1BUkdJTikKY2FudmFzLmNyZWF0ZV9vdmFsKHgtTUFSR0lOLCAoSEVJR0hULXkpLU1BUkdJTiwgeCtNQVJHSU4sIChIRUlHSFQteSkrTUFSR0lOLCBmaWxsPSdyZWQnLCBvdXRsaW5lPScnLCB0YWdzPSdiYWxsJykKY2FudmFzLmNyZWF0ZV9vdmFsKHgxLU1BUkdJTiwgKEhFSUdIVC15MSktTUFSR0lOLCB4MStNQVJHSU4sIChIRUlHSFQteTEpK01BUkdJTiwgZmlsbD0nZ3JheScsIG91dGxpbmU9JycsIHRhZ3M9J2JhbGwxJykKCm1vdmUoKQp3aW5kb3cubWFpbmxvb3AoKQ==
Main.java:1: error: '.' expected
import tkinter
^
Main.java:2: error: '.' expected
import math
^
Main.java:4: error: ';' expected
def meter_to_pixel(meters):
^
Main.java:10: error: illegal character: '#'
# ????????????
^
Main.java:24: error: illegal character: '#'
# ?????????
^
Main.java:25: error: unclosed character literal
canvas.coords('ball', x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN)
^
Main.java:25: error: unclosed character literal
canvas.coords('ball', x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN)
^
Main.java:26: error: unclosed character literal
canvas.coords('ball1', x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN)
^
Main.java:26: error: unclosed character literal
canvas.coords('ball1', x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN)
^
Main.java:28: error: illegal character: '#'
# ???????
^
Main.java:31: error: illegal character: '#'
window.after(10, move) # 10??????move???????
^
Main.java:34: error: illegal character: '#'
# ???????
^
Main.java:37: error: unclosed character literal
canvas.create_line(x_pos, MARGIN, x_pos, HEIGHT - MARGIN, fill='#d2d2d2')
^
Main.java:37: error: unclosed character literal
canvas.create_line(x_pos, MARGIN, x_pos, HEIGHT - MARGIN, fill='#d2d2d2')
^
Main.java:41: error: unclosed character literal
canvas.create_line(MARGIN, y_pos, WIDTH - MARGIN, y_pos, fill='#d2d2d2')
^
Main.java:41: error: unclosed character literal
canvas.create_line(MARGIN, y_pos, WIDTH - MARGIN, y_pos, fill='#d2d2d2')
^
Main.java:44: error: illegal character: '#'
# WIDTH, HEIGHT = 1000, 500
^
Main.java:52: error: unclosed character literal
v0 = float(input('???(m/s)?????????: '))
^
Main.java:52: error: unclosed character literal
v0 = float(input('???(m/s)?????????: '))
^
Main.java:53: error: unclosed character literal
degrees = float(input('??(?)?????????: '))
^
Main.java:53: error: unclosed character literal
degrees = float(input('??(?)?????????: '))
^
Main.java:58: error: illegal character: '#'
x0 = meter_to_pixel(400) # ????????????
^
Main.java:59: error: illegal character: '#'
y0 = meter_to_pixel(400) # ????????????
^
Main.java:60: error: illegal character: '#'
x1 = meter_to_pixel(250) # ????????????
^
Main.java:61: error: illegal character: '#'
y1 = meter_to_pixel(HEIGHT / 2) # ????????????
^
Main.java:67: error: illegal character: '#'
# ????????????
^
Main.java:73: error: unclosed character literal
window.title('moving')
^
Main.java:73: error: unclosed character literal
window.title('moving')
^
Main.java:75: error: unclosed character literal
canvas = tkinter.Canvas(window, width=WIDTH, height=HEIGHT, bg='white')
^
Main.java:75: error: unclosed character literal
canvas = tkinter.Canvas(window, width=WIDTH, height=HEIGHT, bg='white')
^
Main.java:77: error: unclosed character literal
canvas.create_oval(x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN, fill='red', outline='', tags='ball')
^
Main.java:77: error: unclosed character literal
canvas.create_oval(x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN, fill='red', outline='', tags='ball')
^
Main.java:77: error: empty character literal
canvas.create_oval(x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN, fill='red', outline='', tags='ball')
^
Main.java:77: error: unclosed character literal
canvas.create_oval(x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN, fill='red', outline='', tags='ball')
^
Main.java:77: error: unclosed character literal
canvas.create_oval(x-MARGIN, (HEIGHT-y)-MARGIN, x+MARGIN, (HEIGHT-y)+MARGIN, fill='red', outline='', tags='ball')
^
Main.java:78: error: unclosed character literal
canvas.create_oval(x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN, fill='gray', outline='', tags='ball1')
^
Main.java:78: error: unclosed character literal
canvas.create_oval(x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN, fill='gray', outline='', tags='ball1')
^
Main.java:78: error: empty character literal
canvas.create_oval(x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN, fill='gray', outline='', tags='ball1')
^
Main.java:78: error: unclosed character literal
canvas.create_oval(x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN, fill='gray', outline='', tags='ball1')
^
Main.java:78: error: unclosed character literal
canvas.create_oval(x1-MARGIN, (HEIGHT-y1)-MARGIN, x1+MARGIN, (HEIGHT-y1)+MARGIN, fill='gray', outline='', tags='ball1')
^
40 errors