2010-10-22 17 views
2

Considérons un WPF Rectangle rempli de ImageBrush. Maintenant, considérons un axe arbitraire à travers le centre du rectangle. Je veux appliquer une rotation de type 3D autour de l'axe en employant seulement des transformations 2D. Fondamentalement, je veux réaliser la perspective avec le bord "plus proche" du rectangle pour sembler plus grand que le bord "loin" qui devrait visuellement plus petit.Simulation de la perspective en faisant pivoter un rectangle rempli d'image à l'aide de transformations 2D

Si je l'ai remplacé Rectangle pour un Polygon je pourrais simuler ce facilement, mais je ne sais pas s'il y a un moyen de fausser la ImageBrush de sorte qu'un effet 3D est atteint.

Si cela n'a pas de sens de faire de la 3D simulée en utilisant seulement la transformation 2D, quelqu'un peut-il suggérer une solution 3D simple mais pure?

Répondre

1

Ce type d'effet n'est pas mathématiquement possible avec la transformation linéaire.

http://en.wikipedia.org/wiki/Linear_transformation

+0

Merci. J'espérais un effet de perspective, pas nécessairement la réalité, seulement pour éviter l'implication 3D. Si la 3D doit être utilisée, j'aimerais obtenir un échantillon simple de la façon dont cela devrait être fait. – wpfwannabe