Esempio n. 1
0
from math import sqrt
from pycat.core import Window, Sprite, Point, Color
from pycat.base.event import MouseEvent

w = Window()
w.set_clear_color(126, 200, 80)
hole = w.create_circle(700, 500, 30, Color.BLACK)
SPEED = 0.05
FRICTION = 0.97


def dot(u: Point, v: Point):
    return u.x * v.x + u.y * v.y


def project(u: Point, v: Point):
    return dot(u, v) * v / dot(v, v)


def reflect(u: Point, v: Point):
    return u - 2 * project(u, v)


class Ball(Sprite):
    def on_create(self):
        self.aim = w.create_line()
        self.scale = 0.1
        self.image = "golfball.png"
        self.is_aimmimg = True
        self.speed = 0
Esempio n. 2
0
from cv2 import rotate
from pycat.core import Window, Sprite, Point, Color
from pycat.base.event import MouseEvent
from typing import List
from math import sqrt

from pyrsistent import s
from sympy import rotations

w = Window()
w.set_clear_color(126, 200, 80)
hole = w.create_circle(1100, 500, 32, color = Color.BLACK)

S = 0.05
FRICTION = 0.98

def dot(u:Point,v:Point):
    return u.x*v.x + u.y*v.y

def project(u:Point,v:Point):
    return dot(u,v)* v/ dot(v,v)

def reflect(u:Point,v:Point):
    return u - 2*project(u,v)

class Golf(Sprite):

    def on_create(self):
        self.aim = w.create_line(width=6) 
        self.aim.visible = True
        self.layer = 1