コード例 #1
0
ファイル: test_vec2d.py プロジェクト: rodrigocam/pytaon
    def test_inplace(self, u):
        u_orig = u

        u += (1, 1)
        assert u == Vec2d(4, 5)
        assert u is u_orig

        u -= (1, 1)
        assert u == Vec2d(3, 4)
        assert u is u_orig

        u *= 2
        assert u == Vec2d(6, 8)
        assert u is u_orig

        u /= 2
        assert u == Vec2d(3, 4)
        assert u is u_orig
コード例 #2
0
def main():

    # Pede vetores de entrada para o usuário
    print(__doc__)

    pyxel.factory = Transform.rotation_degrees
    pyxel.translation = Vec2d(0, 0)
    pyxel.angle = 0
    pyxel.M = pyxel.factory(pyxel.angle)
    pyxel.points = list(square())
    pyxel.transform = None

    # Inicializa o módulo e roda!
    pyxel.init(240, 180, caption="Retas", fps=30)
    pyxel.mouse(True)
    pyxel.run(update, draw)
コード例 #3
0
ファイル: test_vec2d.py プロジェクト: rodrigocam/pytaon
 def test_algebraic_operations(self, u, v):
     assert u + v == Vec2d(u.x + v.x, u.y + v.y)
     assert u - v == Vec2d(u.x - v.x, u.y - v.y)
     assert u * 2 == Vec2d(2 * u.x, 2 * u.y)
     assert 2 * u == Vec2d(2 * u.x, 2 * u.y)
     assert u / 2 == Vec2d(u.x / 2, u.y / 2)
コード例 #4
0
ファイル: koch.py プロジェクト: rodrigocam/pytaon
    delta = (v - u) / 3
    a, c = u + delta, u + 2 * delta
    b = a + delta.rotated_degrees(-60)

    yield from koch(u, a, n - 1)
    yield from koch(a, b, n - 1)
    yield from koch(b, c, n - 1)
    yield from koch(c, v, n - 1)


def update():
    try:
        cmds.extend(islice(gen, 4))
    except StopIteration:
        pass


def draw():
    pyxel.cls(pyxel.COLOR_BLACK)
    colors = islice(cycle(range(1, 16)), pyxel.frame_count % 15, None)
    for cmd, col in zip(cmds, colors):
        pyxel.line(*cmd, col)


HEIGHTS = range(220, 50, -70)
gen = chain.from_iterable(koch(Vec2d(0, y), Vec2d(256, y), 4) for y in HEIGHTS)
cmds = []
pyxel.init(256, 256, caption="Koch Fractal", fps=30)
pyxel.run(update, draw)
コード例 #5
0
def read_vec(msg) -> Vec2d:
    """
    Pede uma entrada vetorial.
    """
    x, _, y = input(msg).lstrip("[( ").rstrip(")] ").partition(",")
    return Vec2d(float(x), float(y))
コード例 #6
0
ファイル: conftest.py プロジェクト: rodrigocam/pytaon
def jj():
    return Vec2d(0, 1)
コード例 #7
0
ファイル: conftest.py プロジェクト: rodrigocam/pytaon
def ii():
    return Vec2d(1, 0)
コード例 #8
0
ファイル: conftest.py プロジェクト: rodrigocam/pytaon
def v():
    return Vec2d(1, 1)
コード例 #9
0
ファイル: conftest.py プロジェクト: rodrigocam/pytaon
def u():
    return Vec2d(3, 4)