Biến một dòng vào một chiếc nhẫn là một nhiệm vụ đơn giản trong các chương trình đồ họa như GIMP:Biến đổi cực trong CSS3?
Filter ⇒ Distorts ⇒ Polar Coordinates http://adamhaskell.net/img/transform.png
Tôi đang cố gắng để tìm ra nếu nó có thể tạo ra hiệu ứng tương tự trong CSS.
Vì vậy, tôi làm việc ra như sau:
- Các thuật toán trên đồ
x
đểr
vày
đểθ
- Để làm điều này,
x
được thu nhỏ đến phạm vi của[0,w/2]
, vớiw
là chiều rộng của hình ảnh - Ngoài ra,
y
được thu nhỏ trong phạm vi[0,2π]
- Để t ransform tọa độ cực trở lại vào Descartes:
xc = rp*cos(θp)
vàyc = rp*sin(θp)
- Kết quả sau đó được dịch để nguồn gốc nằm ở giữa hình ảnh.
- Vì vậy, chúng ta có:
x' = (x/2)*cos(y/h*2π) + w/2;
y' = (x/2)*sin(y/h*2π) + h/2;
Đây là tất cả tiền phạt và dandy, nhưng làm thế nào tôi có thể sản xuất như một biến đổi trong CSS? Có lẽ không có từ khóa nào hữu ích, vì vậy nó phải là một biến đổi Ma trận. Vâng, tôi không có ý tưởng làm thế nào để xây dựng một ma trận từ hai phương trình trên, ít hơn nhiều như thế nào để đại diện cho nó trong một biến đổi CSS.
Có ai có thể giúp tôi trong bước cuối cùng này không?
+1 cho câu hỏi thú vị này – dajood