Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 拖动以旋转SVG:g组_Html_Svg_Rotation_D3.js_Transform - Fatal编程技术网

Html 拖动以旋转SVG:g组

Html 拖动以旋转SVG:g组,html,svg,rotation,d3.js,transform,Html,Svg,Rotation,D3.js,Transform,我的目标是拥有一个带有四个控制点的svg:eliple,可以用来调整大小和旋转。如果将旋转变换应用于椭圆本身,则我的代码可以正常工作,但我希望将旋转应用于容器svg:g,以便控制点同时旋转,而无需大量额外代码。当我将变换应用于组时,我假设旋转行为不正确,因为我没有正确考虑变换后的坐标 请看这里: 请注意,角度在旋转开始附近的正值和负值之间闪烁,并且鼠标的2pi旋转仅旋转形状1pi。(但我不认为我的点间角度函数是错误的,因为如果我将旋转应用于而不是,旋转是完美的。) 我做错了什么?谢谢—— 修复程

我的目标是拥有一个带有四个控制点的
svg:eliple
,可以用来调整大小和旋转。如果将旋转变换应用于椭圆本身,则我的代码可以正常工作,但我希望将旋转应用于容器
svg:g
,以便控制点同时旋转,而无需大量额外代码。当我将变换应用于组时,我假设旋转行为不正确,因为我没有正确考虑变换后的坐标

请看这里:

请注意,角度在旋转开始附近的正值和负值之间闪烁,并且鼠标的2pi旋转仅旋转形状1pi。(但我不认为我的
点间角度
函数是错误的,因为如果我将旋转应用于
而不是
,旋转是完美的。)

我做错了什么?谢谢——


修复程序正在将旋转角度从
点间角度
更改为
当前角度+点间角度
(伪)。我认为这意味着在应用旋转后,坐标也被转换,使得点之间的角度基本上是给出
dTheta
,而不是
theta
。别叹气。

如果我点击其中一个手柄并尝试将整个椭圆旋转360°,我就不会全程跟随。你想要这个吗?@philipp不,这是一个错误,除了0度左右的闪烁。单击的控制点应位于鼠标下方。