Javascript 旋转后移动SVG元素

Javascript 旋转后移动SVG元素,javascript,svg,Javascript,Svg,请帮助我了解使用普通javascript操作svg元素及其转换的最佳实践 我知道坐标系是通过节点传递和链接等 我试图实现的是在旋转后继续元素的原始平移。应用旋转后,不沿轴旋转 我是否必须克隆复制第一个转换并将其添加到转换列表的末尾 如果有人能以一种雄辩的方式给我们一些启示,我将不胜感激 最好的方法是创建矩阵变换,然后请求各种变换并使用合并方法。下面是一个例子 转换请求 转换请求对象+合并 翻译 规模 函数平移圆 { var objtransfermrequestobj=mySVG.create

请帮助我了解使用普通javascript操作svg元素及其转换的最佳实践

我知道坐标系是通过节点传递和链接等

我试图实现的是在旋转后继续元素的原始平移。应用旋转后,不沿轴旋转

我是否必须克隆复制第一个转换并将其添加到转换列表的末尾


如果有人能以一种雄辩的方式给我们一些启示,我将不胜感激

最好的方法是创建矩阵变换,然后请求各种变换并使用合并方法。下面是一个例子

转换请求 转换请求对象+合并 翻译 规模 函数平移圆 { var objtransfermrequestobj=mySVG.createSVGTransform //--将新转换附加到元素,初始化其转换列表-- var mytranslatistanim=myCircle.transform var objTransList=myTransListAnim.baseVal objTransformRequestObj.setTranslate40,0 objTransList.AppendItemOBJTTransferorMRequestobj objTransList.com showSVGSource } 函数尺度圆 { var objtransfermrequestobj=mySVG.createSVGTransform //--将新转换附加到元素,初始化其转换列表-- var mytranslatistanim=myCircle.transform var objTransList=myTransListAnim.baseVal objTransformRequestObj.setScale.5、.3 objTransList.AppendItemOBJTTransferorMRequestobj objTransList.com showSVGSource } 函数showSVGSource { svgSourceValue.value=svgDiv.innerHTML }
最好的方法是创建矩阵变换,然后请求各种变换并使用合并方法。下面是一个例子

转换请求 转换请求对象+合并 翻译 规模 函数平移圆 { var objtransfermrequestobj=mySVG.createSVGTransform //--将新转换附加到元素,初始化其转换列表-- var mytranslatistanim=myCircle.transform var objTransList=myTransListAnim.baseVal objTransformRequestObj.setTranslate40,0 objTransList.AppendItemOBJTTransferorMRequestobj objTransList.com showSVGSource } 函数尺度圆 { var objtransfermrequestobj=mySVG.createSVGTransform //--将新转换附加到元素,初始化其转换列表-- var mytranslatistanim=myCircle.transform var objTransList=myTransListAnim.baseVal objTransformRequestObj.setScale.5、.3 objTransList.AppendItemOBJTTransferorMRequestobj objTransList.com showSVGSource } 函数showSVGSource { svgSourceValue.value=svgDiv.innerHTML }
实现这一点的方法是嵌套变换。例如,看看下面的SVG示例


实现这一点的方法是嵌套变换。例如,看看下面的SVG示例


太棒了,信息量很大。“谢谢你的帮助,这真的很有帮助。”保罗·勒博对我来说,这是一个很好、很有帮助的回答。谢谢你,非常棒,信息丰富。“谢谢你的帮助,这真的很有帮助。”保罗·勒博对我来说,这是一个很好、很有帮助的回答。谢谢你,保罗