SVG arc实施说明F.6.5.4中的数学符号是什么-->;F.6.5.6平均值?

SVG arc实施说明F.6.5.4中的数学符号是什么-->;F.6.5.6平均值?,svg,Svg,我认为它们是arctan2的可爱符号,但我不确定。但是,阅读方程式下面的注释只会让我更加困惑。F.6.5.6使用的是三重条,而不是等号。方程的第一部分是θ1,第二部分是θ2,然后在它们之间扫过的弧是δθ(我想这就是用矩阵、逗号、括号、角符号、三条符号来表示的方法——但我找不到其他例子) θ1(F.6.5.5)和θ2(F.6.5.6左侧)用atan2计算。在F.6.5.4中使用的符号中 u和v上的半箭头(有些人在这里使用全箭头)表示这些是矢量,即方向量。这些通常表示为实数列表,表示沿每个主方向的


我认为它们是arctan2的可爱符号,但我不确定。但是,阅读方程式下面的注释只会让我更加困惑。

F.6.5.6使用的是三重条,而不是等号。方程的第一部分是θ1,第二部分是θ2,然后在它们之间扫过的弧是δθ(我想这就是用矩阵、逗号、括号、角符号、三条符号来表示的方法——但我找不到其他例子)


θ1(F.6.5.5)和θ2(F.6.5.6左侧)用atan2计算。

F.6.5.4中使用的符号中

u和v上的半箭头(有些人在这里使用全箭头)表示这些是矢量,即方向量。这些通常表示为实数列表,表示沿每个主方向的运动,例如在二维笛卡尔平面中,我们可以有一个向量(1,1),表示向上运动1,向右运动1(以45度角运动)

在等式的左侧,奇怪的小符号表示一个角度,因此左侧读取向量u和v之间的角度

在右边,点表示点积(向量中相应项的乘积之和),双条符号表示向量的长度(向量自身的点积的平方根-在2维中,这应该提醒您毕达哥拉斯定理)

这是一个标准公式,任何学习过线性代数的人都非常熟悉。下面是一个演示公式的示例,您将看到使用相同的符号

F.6.5.5F.6.5.6

正在使用从本节开头的给定变量创建的向量应用此公式。第一个公式将θ1定义为第一个选择的向量与右x轴(表示向右移动一个单位且没有垂直移动的向量)和所述向量之间的角度。第二个公式以类似的方式求出角度Δθ

三条线是一种同余关系(读x≡ y模3为x与y模3全等)。当两个事物是全等的时,表示这两个事物的余数除以另一个数时是相同的。因此13≡ 6 mod 7,因为6和13在除以7时都会留下6的余数

Δθ的公式表示,当两者都被解释为0到360度之间的角度时,该角度等于右侧计算的值



这与使用atan2功能不同
atan2
对于计算单个向量与x轴形成的角度很有用,但当我们需要两个向量之间的角度时(不首先变换坐标系)就不有用了。

你为什么不明白?为了正确绘制圆弧,渲染器需要知道圆弧的中心点。但是,为了更方便地描述路径,Arc path命令不要求您指定该路径。因此,文档的这一部分解释了如何根据现有参数计算弧的中心。您是否试图回答自己的问题,因为这看起来不像是一个答案。如果这应该添加到问题中,您可以编辑您的问题以添加它。这里也没有使用
atan2
函数。不是吗?我设法实现了一个简单的SVG解析器<代码>//步骤4 var thetaStart=math.atan2(thetaY,thetaX);var thetaEnd=数学atan2(thetaDY,thetaDX)输入为左侧和右侧。我已经将其与使用圆弧路径的“材质设计”图标中的复选框(必须使用贝塞尔曲线)进行了对比测试。其中涉及的方程式没有以任何方式引用
atan2
函数(出于各种原因),但在适当的情况下,并且仅限于二维空间,它们可能是等效的(所述方程更一般),因此在某些情况下,你可能可以使用该函数做同样的事情(我只看了你引用的方程,所以我不确定你在这种情况下是否可以)。当我说这里不使用该方程时,我的意思是方程更一般(它们适用于任何维度,而不仅仅是2)-它们不仅仅是该函数的另一种符号。酷,有没有更好\更正确的方法来“编码”数学?你可以使用提供的方程式。在我的回答中,我链接到了一篇wikihow文章,该文章演示了如何应用这些公式。这应该很容易翻译成代码。