Tourner une ligne dans un anneau est une tâche simple dans les programmes graphiques tels que GIMP:Transformation polaire en CSS3?
Filter ⇒ Distorts ⇒ Polar Coordinates http://adamhaskell.net/img/transform.png
Je suis en train de travailler s'il est possible de produire le même effet en CSS.
J'ai donc travaillé les opérations suivantes:
- Les cartes algorithme ci-dessus
x
àr
ety
àθ
- Pour ce faire,
x
est mis à l'échelle de la gamme de[0,w/2]
, avecw
étant la largeur l'image - En outre,
y
est mis à l'échelle à la gamme de[0,2π]
- Pour t ransformer les coordonnées polaires en cartésien:
xc = rp*cos(θp)
etyc = rp*sin(θp)
- Le résultat est ensuite traduit de sorte que l'origine se trouve au centre de l'image.
- Nous avons donc:
x' = (x/2)*cos(y/h*2π) + w/2;
y' = (x/2)*sin(y/h*2π) + h/2;
Tout cela est bien beau, mais comment puis-je produire une telle transformation en CSS? Vraisemblablement, aucun des mots-clés n'est utile, il doit donc s'agir d'une transformation Matrix. Eh bien, je n'ai aucune idée de comment construire une matrice à partir des deux équations ci-dessus, et encore moins comment la représenter dans une transformation CSS.
Quelqu'un peut-il m'aider sur cette dernière étape?
+1 pour cette question intéressante – dajood