Beispiel #1
0
    def draw(self, vsk: vsketch.Vsketch) -> None:
        vsk.size("a5", landscape=True)
        vsk.scale("1.5cm")

        vsk.detail(self.detail_value)

        vsk.circle(0, 0, 1)
        vsk.circle(0, 0, 2)
        with vsk.pushMatrix():
            vsk.scale(4)
            # the scale is taken into account to compute details
            vsk.circle(0, 0, 1)

        vsk.translate(4, 0)

        for i in range(-4, 5):
            with vsk.pushMatrix():
                vsk.translate(0, i * 0.4)
                vsk.bezier(0, 0, 1, -2, 2, 2, 3, 0)
    def draw(self, vsk: vsketch.Vsketch) -> None:
        vsk.size("a4", landscape=False)
        vsk.scale("cm")

        t = np.arange(self.N) * self.freq
        perlin = vsk.noise(t, np.arange(8) * 1000)

        for i in range(self.N):
            v = i * self.drift
            vsk.bezier(
                perlin[i, 0] * 10 + v,
                perlin[i, 1] * 10 + v,
                perlin[i, 2] * 10 + v,
                perlin[i, 3] * 10 + v,
                perlin[i, 4] * 10 + v,
                perlin[i, 5] * 10 + v,
                perlin[i, 6] * 10 + v,
                perlin[i, 7] * 10 + v,
            )