Ejemplo n.º 1
0
    def render(self, origin: bimpy.Vec2, scale: float):
        points_on_canvas = [
            bimpy.Vec2(item.x * scale + origin.x,
                       item.y * -scale + origin.y)
            for item in self._convex_points
        ]

        for index in range(len(points_on_canvas) - 1):
            bimpy.add_line(
                points_on_canvas[index],
                points_on_canvas[index + 1],
                im_col32(211, 85, 186),
                1.0,
            )
        
        for index in range(len(points_on_canvas)):
            bimpy.add_circle_filled(
                points_on_canvas[index],
                2.0,
                im_col32(204, 50, 153),
                16,
            )
Ejemplo n.º 2
0
def draw_window_drawing(ctx, w, h, name, points):

	bimpy.set_next_window_pos(bimpy.Vec2(w + 20, h + 20), bimpy.Condition.Once)
	bimpy.set_next_window_size(bimpy.Vec2(w, h), bimpy.Condition.Once)
	bimpy.begin(name)
	
	window_zero = bimpy.get_window_pos() + bimpy.Vec2(100 + temp_separation_test.value, 100 + temp_separation_test.value)
	window_one = bimpy.get_window_pos() + bimpy.Vec2(w - 100 - temp_separation_test.value, h - 100 - temp_separation_test.value)
	
	bimpy.add_circle_filled(window_zero, 5.0, 0xFF000000 + 0xc88200, 100)
	bimpy.add_circle_filled(window_one, 5.0, 0xFF000000 + 0x4bb43c, 100)

	for x,y in points:
		point = bimpy.get_window_pos() + bimpy.Vec2(x, y)
		bimpy.add_circle_filled(point, 5.0, 0xFF000000 + 0x4bb43c, 100)


	bimpy.slider_float("separation", temp_separation_test, 0.0, 100.0)

	bimpy.end()
Ejemplo n.º 3
0
    ctx.new_frame()

    bimpy.set_next_window_pos(bimpy.Vec2(20, 20), bimpy.Condition.Once)
    bimpy.set_next_window_size(bimpy.Vec2(800, 600), bimpy.Condition.Once)
    bimpy.begin("Drawings")

    window_pos = bimpy.get_window_pos()

    center = bimpy.Vec2(100, 100) + window_pos
    m = 100.0
    for i in range(len(datapoints)):
        (x, R, P, S) = datapoints[i]

        for j in range(x.shape[0]):
            point = bimpy.Vec2(x[j, 0], x[j, 1])
            bimpy.add_circle_filled(point * m + center, 5,
                                    0xAF000000 + colors[i], 100)

        axis_ = np.matmul(axis, S * 2.0)
        axis_ = np.matmul(axis_, R) + P

        bimpy.add_line(center + bimpy.Vec2(axis_[0, 0], axis_[0, 1]) * m,
                       center + bimpy.Vec2(axis_[1, 0], axis_[1, 1]) * m,
                       0xFFFF0000, 1)

        bimpy.add_line(center + bimpy.Vec2(axis_[2, 0], axis_[2, 1]) * m,
                       center + bimpy.Vec2(axis_[3, 0], axis_[3, 1]) * m,
                       0xFFFF0000, 1)

    bimpy.end()

    bimpy.set_next_window_pos(bimpy.Vec2(20, 640), bimpy.Condition.Once)
Ejemplo n.º 4
0
Archivo: image.py Proyecto: zakx/bimpy
            M = np.full((n, m), True, dtype=bool)
            for i in range(100):
                Z[M] = Z[M] * Z[M] + C[M]
                M[np.abs(Z) > 2] = False

            im = bimpy.Image(np.uint8(np.flipud(1 - M) * 255))

        if bimpy.button("Checkerboard"):
            import numpy as np

            im = bimpy.Image(
                np.uint8(
                    np.kron([[1, 0] * 16, [0, 1] * 16] * 16, np.ones(
                        (20, 20))) * 255))
            im.grayscale_to_alpha()

        y = bimpy.get_cursor_pos_y()
        bimpy.set_cursor_pos_y(250)

        window_pos = bimpy.get_window_pos()
        center = bimpy.Vec2(150, 350) + window_pos

        bimpy.text(
            "Some text behind image. See 'Checkerboard' and 'RGB with alpha' options."
        )
        bimpy.add_circle_filled(center, 50, 0xaf4bb43c, 255)
        bimpy.set_cursor_pos_y(y)

        if im is not None:
            bimpy.image(im)