Tôi đang cố gắng tạo một hàm nội suy cho một thư viện hoạt hình để đạt được hiệu ứng tweening giữa các khung.
Tôi muốn nó hoạt động với các đường cong Bezier. Tôi đã tạo ra một jsFiddle ( ở đây ) về sự tiến bộ của tôi cho đến nay.
Tôi đang cố gắng tạo một tween tuyến tính bằng cách sử dụng định nghĩa bezier này:
{
p0: new Vector(0,0), //Start point
p1: new Vector(0,0), //Control point 1
p2: new Vector(1,1), //Control point 2
p3: new Vector(1,1) //End point
}
Tôi đã thực hiện chức năng nội suy từ hướng dẫn này .
var u = 1 - t;
var tt = t*t;
var uu = u*u;
var uuu = uu * u;
var ttt = tt * t;
var p = p0.multiply(uuu);
p = p.add(p1.multiply(3 * uu * t));
p = p.add(p2.multiply(3 * u * tt));
p = p.add(p3.multiply(ttt));
Vấn đề tôi gặp phải là khi tôi chạy chức năng, hình ảnh động dường như không phải là tuyến tính, mà giống như 'dễ dàng thoát ra'.
Lý tưởng nhất là tôi muốn hoạt hình tuyến tính hoạt động giống như quá trình chuyển đổi CSS này .
Bất cứ ai cũng có thể thấy tại sao nó không hoạt hình theo kiểu tuyến tính?