def _set_start(self):
     if isinstance(self._handle, Text):
         self._i_value = self._handle.get_fontsize()
     elif isinstance(self._handle, Axes):
         current_state = self._handle.get_position()
         width = current_state.x1 - current_state.x0
         height = current_state.y1 - current_state.y0
         self._i_value = Vec2D(width, height)
示例#2
0
c = .2
alpha = 2 * np.pi / 16
beta = .1

C = Circle(0, a)

gamma = -4 * np.pi * U * a * np.sin(beta + alpha)  # Circulation

F = U * z * sympy.exp(-1j * alpha) + \
    U * (a ** 2) * sympy.exp(1j * alpha) / z - \
    1j * gamma * sympy.ln(z) / (2 * np.pi)

levels = np.arange(-2.8, 4.8, 0.2).tolist()

cp = ae.add_element(
    ComplexPotential(Vec2D(.11, .11),
                     Vec2D(.33, .33),
                     F,
                     levels,
                     C,
                     lambda Z: np.absolute(Z) <= a,
                     typ="contour",
                     axes_data=AxesData(xlim=[-3, 3],
                                        ylim=[-3, 3],
                                        aspect='equal')), 0, 10)

cp2 = ae.add_element(
    ComplexPotential(Vec2D(.11, .5),
                     Vec2D(.33, .33),
                     F,
                     levels,
from Engine.AnimationEngine import AnimationEngine
from Engine.Elements.GraphElements import Sine
from Engine.Elements.AxesElement import AxesData
from Engine.MathsHelpers import Vec2D
from Engine.Keyframe.Keyframe import KeyFrame
from Engine.Keyframe.Parameter import SetParam, InterpParam


ae = AnimationEngine(1080, 24)

Sine1 = ae.add_element(Sine(Vec2D(.1, .25), Vec2D(.35, .5), axes_data=AxesData(xlim=[-3, 3], ylim=[-3, 3])),
                       0, 10)

Sine2 = ae.add_element(Sine(Vec2D(.55, .25), Vec2D(.35, .5), axes_data=AxesData(xlim=[-3, 3], ylim=[-3, 3])),
                       0, 10)

Sine1Params = Sine1.get_parameters()
Sine2Params = Sine2.get_parameters()

case = 2

# Setting parameter values and attaching keyframe sequence using SetParam
if case == 0:
    Sine1Params['offset'].set_value(2)
    Sine2Params['offset'].set_value(-2)
    sequence1 = [KeyFrame([SetParam(Sine1Params['offset'], 1)], start_t=.33, end_t=.66),
                 KeyFrame([SetParam(Sine1Params['offset'], 0)], start_t=.66, end_t=1.0)]
    sequence2 = [KeyFrame([SetParam(Sine2Params['offset'], -1)], start_t=.33, end_t=0.66),
                 KeyFrame([SetParam(Sine2Params['offset'], 0)],  start_t=.66, end_t=1.0)]
    Sine1.attach_sequence(sequence1)
    Sine2.attach_sequence(sequence2)
 def _set_start(self):
     if isinstance(self._handle, Text):
         self._i_value = Vec2D(self._handle.get_position())
     elif isinstance(self._handle, Axes):
         self._i_value = Vec2D(self._handle.get_position().x0, self._handle.get_position().y0)
 def __init__(self, end: Vec2D, origin: Vec2D = Vec2D(0, 0), absolute: bool = False):
     super(Scale2D, self).__init__(end, absolute)
     self._origin = origin
 def __init__(self, end: float, origin: Vec2D = Vec2D(0, 0), absolute: bool = False):
     # Minus is to make positive rotations clockwise
     super(Rotate, self).__init__(-end, absolute)
     self._origin = origin
from Engine.AnimationEngine import AnimationEngine
from Engine.Elements.GraphElements import Sine, Cube
from Engine.Elements.AxesElement import AxesData
from Engine.MathsHelpers import Vec2D

ae = AnimationEngine(1080, 24)

Sine = ae.add_element(
    Sine(Vec2D(.11, .33),
         Vec2D(.33, .33),
         axes_data=AxesData(xlim=[-3, 3], ylim=[-3, 3], aspect='equal')), 2,
    10)

Cube = ae.add_element(
    Cube(Vec2D(.5, .33),
         Vec2D(.33, .33),
         axes_data=AxesData(xlim=[-2, 2],
                            ylim=[-2, 2],
                            zlim=[-2, 2],
                            aspect='equal')), 2, 10)

ae.browse(10)
示例#8
0
from Engine.AnimationEngine import AnimationEngine
from Engine.Elements.TextElement import TextElement
from Engine.MathsHelpers import Vec2D

ae = AnimationEngine(1080, 24)

text = ae.add_element(
    TextElement(Vec2D(.5, .8),
                "Hello",
                72,
                horizontalalignment='center',
                verticalalignment='center',
                color='white'), 2, 10)

ae.browse(10)