Math 我怎样才能得到“我的”呢;“正面”;给定4个点和一个角度的平行四边形

Math 我怎样才能得到“我的”呢;“正面”;给定4个点和一个角度的平行四边形,math,geometry,2d,point,angle,Math,Geometry,2d,Point,Angle,这应该是一件简单的事情,但由于某种原因我不能理解它 我有一个平行四边形,定义为四个点(按逆时针顺序,但除此之外,我不知道哪个角是哪个角)。我还有平行四边形的中心点,还有它的方向(如果“面向”的话,它的角度)。我想要得到的是平行四边形“前方”的直线中点。 要做到这一点,我想我必须从中点以平行四边形所面对的角度追踪光线,并检查它与四条线中的哪一条相交以及相交的位置。这就是我被困的地方。我想不出一个公式来实现这个目标。有什么想法吗 我用C#编写代码,但这更像是一个数学问题,所以我接受公式或伪代码 编辑

这应该是一件简单的事情,但由于某种原因我不能理解它

我有一个平行四边形,定义为四个点(按逆时针顺序,但除此之外,我不知道哪个角是哪个角)。我还有平行四边形的中心点,还有它的方向(如果“面向”的话,它的角度)。我想要得到的是平行四边形“前方”的直线中点。
要做到这一点,我想我必须从中点以平行四边形所面对的角度追踪光线,并检查它与四条线中的哪一条相交以及相交的位置。这就是我被困的地方。我想不出一个公式来实现这个目标。有什么想法吗

我用C#编写代码,但这更像是一个数学问题,所以我接受公式或伪代码

编辑:我的问题似乎有点困惑;对此表示歉意。我应该指定我使用的是二维,“前方”定义为平行四边形上的线,该线与从中点(到原点)投射生成的光线相交。如评论所示,以下是一张图表:

橙色点表示平行四边形的角,蓝色点表示质心,黄色曲线表示给定的角度。紫色线与X轴平行,有助于表示角度。从蓝点延伸的灰线是我前面提到的光线的一部分,因此绿点是我想要计算的点。还请注意,此图表只是帮助可视化问题的草图,不是由我的程序生成的。

希望这有助于消除任何困惑。

有点暴力,不优雅,但尝试一下这一点来获得绿点的坐标(我希望它是绿色的;我有点色盲):

  • 您有四条线段。计算包含每个线段的直线方程(y=mx+b以及所有这些)。将有四个方程式
  • 计算从中心点到四个平行四边形顶点的角度
  • 通过查看黄色角度介于哪两个角度之间,确定光线与哪一侧相交。它将与一条边或一个顶点相交。如果你击中其中一个顶点,你就完成了
  • 否则,求解光线(有自己的方程)与相应边的相应方程的交点

  • 这是一个很棒的页面。

    定义“正面”?顶部还是底部?我们处理的是二维还是三维?什么是“正面”@肖恩:3点半。对象被调用paralelepiped@sean正面定义为从给定中点以给定“平行四边形面对的角度”延伸的光线遇到的面@yi_H,平行六面体是由8个点定义的三维图形。他有四个。它是一个平行四边形,但可能意味着三维空间中的平行四边形。@AakashM您的定义可以定义四个面中的任何一个。如果你愿意,有两个“角度”在起作用,没有一个比另一个更重要。从中心向任意方向的追踪都会击中任意一边。我使用的不是这个,而是沿着类似的线,所以我把这个标记为答案。