答案 0 :(得分:0)
你可以在红点处构造一个带有非右顶点的直角三角形,然后这将允许你计算从投影点到橙色线的距离,该距离与紫色点的长度相同。
三角形构造可以通过在红点之间构造线(A),找到原点和橙线(角度B)之间的角度来进行。从那里,A线和右顶点线之间的角度由90-(角度B)给出。然后是和弦的长度。
答案 1 :(得分:0)
让从“中心”红点 c 到另一个红点 r 的矢量为 u ,并且来自中心的矢量红点指向橙色线上的其他点 v 。我们希望将 u 旋转两倍于 u 和 v 之间的角度。设θ为 u 和 v 之间的角度。我们可以使用rotation matrix两次θ,并将其乘以 u ,以获得从红色“中心”点 c 到紫色点的矢量 p 的。由于我们知道红点线和橙线之间角度的余弦,我们不应该采用角度或任何东西的任何正弦或余弦,我们可以在向量中表达所有这些。 {3}}等等。
人们可能会把这个问题归结为一个更简单的等式,但这是一个反映“展示你的工作”的算法:
将余弦(θ)定义为 u * v / || u || ||的 v 强> ||
使用dot product和double angle身份从余弦(θ)中找出余弦(2θ)和正弦(2θ)
将旋转矩阵乘以 u 以获得 w ,从 c 到 p 的向量
将 w 的组件添加到 c 的坐标中以获取 p 的坐标
答案 2 :(得分:0)
鉴于你没有为点和线指定方程的确切形式,我将假设以下符号:橙色线穿过原点并沿着矢量[v1,v2]
,这样它的每个点都可以写成a*[v1,v2]
。鉴于此,以下方法应该有效:
找到v的任何垂直向量(我将其称为n):具有非零n2的n=[-(v2*n2)/v1, n2]
形式的任何向量。
通过沿着n的红点(不是原点)表示线:[r1,r2]+b*[-(v2*n2)/v1, n2]
描述任何这样的点。
找到这些线相交的参数a和b:求解 v1 = r1-b (v2 * n2)/ v1和a * v2 = r2 * b * n2对于a和b。b的结果,这是你需要的结果:
b= (v1*(r1*v1-r2*v1))/(n2*(v1^2 + v2^2))
对于你选择的n2,紫色点的坐标为[r1,r2]+2*b*[-(v2*n2)/v1, n2]
。