Я не могу синхронизировать SVG-преобразование, которое включает в себя как масштабирование, так и перевод.Вершина треугольника переводится из точки (967, 491) в (900, 100), одновременно изображение png должно также переводиться вместе с вершиной, но также должно уменьшаться или увеличиваться при перемещении.
Вполучить исходную позицию изображения png, я правильно использовал формулу -centerX * (масштабный коэффициент - 1), -centerY * (scaleFactor - 1).Это исходная позиция перед анимацией.Но когда начинается движение, я не могу рассчитать его окончательную позицию.
Может ли кто-нибудь помочь мне с этой проблемой.
<svg viewBox="0 0 1200 800">
<defs>
<g id="triangle">
<desc>Triangle</desc>
<polygon id="triangle_" points="967,491 738,449 724,603">
<animate attributeName="points" attributeType="XML"
begin="0s" dur="5s" from="967,491 738,449 724,603" to="900,100 738,449 724,603" fill="freeze" />
</polygon>
<g transform="translate(483,245)">
<image xlink:href="http://www.alegralabs.com/human.png" x="940" y="442" width="53" height="98" transform="scale(0.5)" style="fill:#FFF">
<animateTransform attributeName="transform" type="scale" attributeType="XML"
begin="0s" dur="5s" from="0.5" to="0.2" fill="freeze" />
</image>
<animateTransform attributeName="transform" type="translate" attributeType="XML"
begin="0s" dur="5s" to="773,80" fill="freeze" />
<!--<animateMotion from="0,0" to="241,122" dur="5s" fill="freeze" /> -->
</g>
<g>
<text x="940" y="442">1234</text>
<animateMotion from="0,0" to="-67,-391" dur="5s" fill="freeze" />
<g>
</g>
</defs>
<use xlink:href="#triangle" />
</svg>