在给定角度从点计算点
Calculate point, from point, at given angle
我正在尝试使用 svg 和 JavaScript 创建 'walls'。我需要根据配置的值加厚墙壁,并以给定的角度适当地斜接角落。下图描述了这一点。
我的应用程序的 svg 编辑器部分允许我绘制第 1 行和第 2 行(蓝色),并以不同角度连接它们的端点。下图显示的是 90 度角,但该角度是用户根据绘制的线条定义的,因此可以是任何角度。
我已经能够通过数学计算来确定一个质心点,它允许我平分用户定义的角度并创建一条斜线,如下图所示为具有端点 d 和 c 的线。根据我的计算,我知道四个绿点和绿角,以及第 1 行和第 3 行之间的已知且可配置的距离(此处未定义,但假设它有 5 个 svg 单位),顺便说一下,它始终是平行的。
在此示例中,新墙由第 1 行(墙的内部)、第 3 行(墙的外部)和连接第 1 行和第 3 行的斜接线组成。我假设答案在于第 1 行和第 3 行之间的距离,以及平分线的角度(端点 d 和 c),但我无法确定数学。
如何找到 x?
有没有更简单的方法来解决这个问题,或者我对三角函数的了解比我想象的还要少(顺便说一下,我知道的很少)。提前致谢。
毕达哥拉斯:A**2
+ B**2
= C**2
- 意思是 (5 svg 平方) + (5 svg 平方) = (C -> X) 平方。这给了你从 C->X 的距离,你已经有了绿色角度。
你必须决定你想要的精确度(小数位数)。
说第1行到第3行的距离== 5;
const A = 5;
const length = Math.sqrt((A * A) + (A * A));
console.log(length);
从 C -> X 延伸斜接线:
- 从 C 开始,在距第 1 行 1/2 绿色角度处绘制计算长度。
绿色角度的一半,因为 D 和线 1 之间的假想线与线 1 和线 3(以及延伸 X 的交点)成直角。
我正在尝试使用 svg 和 JavaScript 创建 'walls'。我需要根据配置的值加厚墙壁,并以给定的角度适当地斜接角落。下图描述了这一点。
我的应用程序的 svg 编辑器部分允许我绘制第 1 行和第 2 行(蓝色),并以不同角度连接它们的端点。下图显示的是 90 度角,但该角度是用户根据绘制的线条定义的,因此可以是任何角度。
我已经能够通过数学计算来确定一个质心点,它允许我平分用户定义的角度并创建一条斜线,如下图所示为具有端点 d 和 c 的线。根据我的计算,我知道四个绿点和绿角,以及第 1 行和第 3 行之间的已知且可配置的距离(此处未定义,但假设它有 5 个 svg 单位),顺便说一下,它始终是平行的。
在此示例中,新墙由第 1 行(墙的内部)、第 3 行(墙的外部)和连接第 1 行和第 3 行的斜接线组成。我假设答案在于第 1 行和第 3 行之间的距离,以及平分线的角度(端点 d 和 c),但我无法确定数学。
如何找到 x?
有没有更简单的方法来解决这个问题,或者我对三角函数的了解比我想象的还要少(顺便说一下,我知道的很少)。提前致谢。
毕达哥拉斯:A**2
+ B**2
= C**2
- 意思是 (5 svg 平方) + (5 svg 平方) = (C -> X) 平方。这给了你从 C->X 的距离,你已经有了绿色角度。
你必须决定你想要的精确度(小数位数)。
说第1行到第3行的距离== 5;
const A = 5;
const length = Math.sqrt((A * A) + (A * A));
console.log(length);
从 C -> X 延伸斜接线:
- 从 C 开始,在距第 1 行 1/2 绿色角度处绘制计算长度。
绿色角度的一半,因为 D 和线 1 之间的假想线与线 1 和线 3(以及延伸 X 的交点)成直角。