PyonFX icon indicating copy to clipboard operation
PyonFX copied to clipboard

Bézier curves for custom acceleration and non-linear movement

Open CoffeeStraw opened this issue 5 years ago • 5 comments

Standard acceleration for transformations is t^x. Be able to use Bézier curves to define custom accelerations of transformations would be very nice. An example of this concept could be found here.

Ideally, Utils.accelerate should be modified to implement this functionality.

UPDATE: Bézier curves should also be implemented to help in non-linear movements of text in frame per frame operations. Support to quadratic and cubic curves is the priority since they are the most used.

CoffeeStraw avatar Feb 01 '20 17:02 CoffeeStraw

Going even further, there could be a whole set of acceleration operators. Adding gauss and sinus for example. Acceleration could be an object with operator (or function) as parameter for construction and just repeatedly passing t through a method afterwards.

Youka avatar Feb 01 '20 19:02 Youka

My implement is use SSE and AVX SIMD to accelerate it, but it only works on x86's CPU, other architecture just can run in regular code.

fdar0536 avatar Feb 03 '20 14:02 fdar0536

My implement is use SSE and AVX SIMD to accelerate it, but it only works on x86's CPU, other architecture just can run in regular code.

I think you misunderstood the issue. This is about implementing a different acceleration method for transformations in ASS format (the standard is the one you use like \t(0,1000,1.5,\fscx120), where 1.5 is the value used for acceleration, to make animation follow an esponential curve.

CoffeeStraw avatar Feb 04 '20 19:02 CoffeeStraw

My implement is use SSE and AVX SIMD to accelerate it, but it only works on x86's CPU, other architecture just can run in regular code.

I think you misunderstood the issue. This is about implementing a different acceleration method for transformations in ASS format (the standard is the one you use like \t(0,1000,1.5,\fscx120), where 1.5 is the value used for acceleration, to make animation follow an esponential curve.

I got it, thanks.

fdar0536 avatar Feb 06 '20 05:02 fdar0536

Would it need to use FrameUtility? I don't see how you can do an acceleration with a shape without creating more than one line in .ass.

moi15moi avatar Mar 16 '22 12:03 moi15moi