有人能帮我把这段短代码翻译成python吗?

有人能帮我把这段短代码翻译成python吗?,python,actionscript,matrix,numpy,Python,Actionscript,Matrix,Numpy,我正试着用我的脑袋绕着坐标系转,以获得等轴测图块。除了最后一段代码外,我已经大致了解了它,我在下面复制它以避免不必要的点击= /** * Intersect two line segments defined by A->B and C->D * * Returns the time of intersection along A->B */ public function RayIntersect(A : Vector2, B : Vector2, C : Vector2,

我正试着用我的脑袋绕着坐标系转,以获得等轴测图块。除了最后一段代码外,我已经大致了解了它,我在下面复制它以避免不必要的点击=

/**
* Intersect two line segments defined by A->B and C->D
*
* Returns the time of intersection along A->B
*/
public function RayIntersect(A : Vector2, B : Vector2, C : Vector2, D : Vector2) : Number
{
    // turn C->D into a plane...
    const n : Vector2 = D.Sub(C).m_Perp;

    // ...and do the regular plane vs ray maths
    const numerator : Number = C.Sub(A).Dot(n);
    const denom : Number = B.Sub(A).Dot(n);

    return numerator / denom;
}
我不太确定这是用Java写的什么语言?ActionScript?,但想法是获取屏幕坐标并将其投影到地图空间。下图给出了正在执行的操作的示意图:

给定一个点p,我们要找到沿上轴和右轴的交点。不幸的是,我的矩阵代数非常生疏,所以我很难推断代码中正在做什么。python翻译将大大有助于我解决这个问题

重要的一点是:我使用2D numpy数组来表示我的贴图,因此理想情况下,矩阵变换应该通过numpy来处理


提前非常感谢

请参阅,以获得执行此操作的工具,它绝对不是Java。它可能是ActionScript Flash。参数列表A:Vector-不能是纯Java。变量声明也一样,有两件事表明这不是Java:Java没有const关键字;Java中的参数和局部变量类型出现在标识符vector2a之前,等等。@blz:这不能通过一个奇特的导入来完成,它们不能改变语言语法。该页面的作者也没有声称它是Java,最后的演示是Flash。这是一个动作脚本。请参阅,以获取执行此操作的工具。这绝对不是Java。它可能是ActionScript Flash。参数列表A:Vector-不能是纯Java。变量声明也一样,有两件事表明这不是Java:Java没有const关键字;Java中的参数和局部变量类型出现在标识符vector2a之前,等等。@blz:这不能通过一个奇特的导入来完成,它们不能改变语言语法。该页面的作者也没有声称它是Java,最后的演示是Flash。这是动作脚本。
def ray_intersect(A, B, C, D):
   """ 
   Intersect two line segments defined by A->B and C->D
   Returns the time of intersection along A->B
   """

   # turn C->D into a plane...
   E = D-C
   n = np.array((-E[1], E[0]))
   # ...and do the regular plane vs ray maths
   numerator = np.dot(C-A, n)
   denom = np.dot(B-A, n)

   return numerator / denom;