Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
CoffeeStraw opened this issue Feb 1, 2020 · 5 comments
Open
Labels
enhancement New feature or request

Comments

@CoffeeStraw
Copy link
Owner

CoffeeStraw commented Feb 1, 2020

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 CoffeeStraw added the enhancement New feature or request label Feb 1, 2020
@Youka
Copy link

Youka commented Feb 1, 2020

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 Youka mentioned this issue Feb 1, 2020
@CoffeeStraw CoffeeStraw changed the title Bézier curves for custom acceleration Bézier curves for custom acceleration and non-linear movement Feb 1, 2020
@fdar0536
Copy link

fdar0536 commented Feb 3, 2020

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.

@CoffeeStraw
Copy link
Owner Author

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.

@fdar0536
Copy link

fdar0536 commented Feb 6, 2020

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.

@moi15moi
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants