Example #1
0
 def random(cls, p=100, v=10):
     """Create a boid with a random motion."""
     p = p * Vector.random()
     v = v * Vector.random()
     a = Vector.null()
     m = Motion(p, v, a)
     return cls(m)
Example #2
0
def createRandomBody():
    form=5*Form.random(n=5)
    form.side_color=mycolors.RED
    form.area_color=mycolors.BLACK
    form.fill=True
    motion=Motion(10*Vector.random(),Vector.random(),Vector.null())
    moment=Motion(Vector([1]),Vector([0.1]))
    return Body(form,motion,moment)
Example #3
0
 def random(corners=[-1, -1, 1, 1],
            radius=random.uniform(0, 1),
            color=mycolors.WHITE):
     """Create a random material circle."""
     p = Vector.random()
     v = Vector.random()
     a = Vector.random()
     m = Motion([p, v, a])
     return MaterialCircle(m, radius, color)
Example #4
0
 def random(cls, na=5, sparse=1e10):
     """Create a random astre."""
     c = "bcdfghjklmnpqrstvwxyz"
     v = "aeiou"
     def rd(n): return c[random.randint(0, len(c) - 1)
                         ] if n % 2 == 0 else v[random.randint(0, len(v) - 1)]
     name = "".join([rd(i) for i in range(na)])
     radius = random.uniform(0, 1)
     mass = random.uniform(1e20, 1e26)
     position = 1e12 * Vector.random()
     velocity = 1e6 * Vector.random()
     velocity.angle = (position.angle + math.pi / 2) % (2 * math.pi)
     acceleration = Vector.null()
     motion = Motion(position, velocity, acceleration)
     color = mycolors.random()
     return cls(name, radius, mass, motion, color)
 def random(cls, n=2):
     """Create a random pendulum."""
     angles = [Motion(math.pi*Vector.random(d=1), Vector.null(d=1),
                     Vector.null(d=1)) for i in range(n)]
     lengths = [random.uniform(0, 1) for i in range(n)]
     masses = [random.uniform(0, 1) for i in range(n)]
     return cls(angles, lengths, masses)
Example #6
0
 def __init__(self,position,size=5):
     """Create an asteroid."""
     form=size*Form.random(n=5)
     form.side_color=mycolors.RED
     form.area_color=mycolors.DARKGREY
     form.fill=True
     motion=Motion(Vector(*position),Vector.random(),Vector.null())
     moment=Motion(Vector([0]),Vector([random.uniform(-1,1)]))
     super().__init__(form,motion,moment)
Example #7
0
 def __init__(self, n=10, s=5, g=10, radius_borns=[1, 10], **kwargs):
     super().__init__(**kwargs)
     # entities = [Entity(FormAnatomy.random(),
     #             [Motion(s * Vector.random(), 10 * Vector.random(), Vector(0, -g)),
     #              Moment(Vector.random(), 5*Vector.random())], friction=0)
     #             for i in range(n)]
     self.group = Group(*[Entity(CircleAnatomy.random(radius_borns=radius_borns), \
                         [Motion(s*Vector.random(), Vector(0,0), Vector(0, -g))], friction=0.1) \
                         for i in range(n)])
     self.collider = Collider(elasticity=0.9)
     self.born = s
     self.born_elasticity = 0.5
     self.square = Square(0, 0, 2 * self.born)
     self.correctMasses()
Example #8
0
 def random(cls, n=3, d=2, borns=[-1, 1], **kwargs):
     """Create a random motion using optional minimum and maximum."""
     vectors = [Vector.random(d=d, borns=borns, **kwargs) for i in range(n)]
     return cls(*vectors)
Example #9
0
from myabstract import Vector

v1 = Vector.random()
v2 = Vector.random()
v3 = Vector.null()

print(v1, v2, v3)

v3 -= v2
print(v1)
Example #10
0
 def random(corners=[-1, -1, 1, 1], n=3, d=2):
     """Create a random motion using optional minimum and maximum."""
     return Motion([Vector.random(corners) for i in range(n)])
Example #11
0
from myabstract import Form, Vector
from mycontext import Context

context = Context()

f = Form.random()
v = Vector.random()

while context:
    context.check()
    context.control()
    context.clear()

    v *= 1.01
    #f.move(v)

    f.show(context)

    context.flip()