我目前正在努力解决一个似乎远远超出我的数学能力的问题(自从我做了一些适当的数学以来已经很长时间了……),我希望能对此提供一些帮助。

这是我的设置:
我得到了一些简单的形状(矩形),然后将它们的底点“投影”在一条直线上,从原点开始。
到目前为止,一切都很好。
但是现在,我想绘制变形的原始形状,好像它是在某个角度投影在飞机上一样。

请考虑我的代码中没有任何与旋转,等轴测或任何3D或伪2D透视图相关的内容,我只是想使用图形库绘制某些形状,从而只感觉到真实的东西。

这是我正在尝试做的一个快速绘图:

我知道的:

  • 原点坐标
  • 正确的位置和大小
  • 红线位置
  • A和B点坐标

  • 我想确定的是C和D点的坐标,如果我不费力地找到“Origin bis”坐标,这可能很容易。

    我要做的是在可以视为“地板”(与我原来的矩形所在的平面可以看作墙的平面有关)上伪造矩形的投影。

    也许我使问题变得过于复杂,或者也许我看不到任何其他更简单的方法来解决这个问题,但是在任何几何或数学方面,我真的都不擅长... :-(

    非常感谢你的回答 !

    最佳答案

    嗯,我不知道我是否正确地理解了它,但是我认为您输入的参数太少了:

    您说给出了以下信息:

  • 原点坐标
  • 正确的位置和大小
  • 红线位置
  • A和B点坐标

  • 我认为仅凭此信息就不可能获得投影的矩形。
    另外,我认为您的绿线和“原始Bis”也无济于事。

    也许尝试一下:
    假设,也给出了一条穿过C和D点的蓝线。
    然后,您可以通过将矩形的顶部投影到该蓝线上来找到投影的矩形。

    因此,总而言之:
    您定义一个原点+两条平行线,一条红色和一条蓝色。
    然后,您可以将rect的顶部投影到蓝线上,并将rect的底部投影到红线上,得到点A,B,C,D

    我希望这有帮助。

    关于actionscript-3 - AS3-几何-2D平面上点的透视投影,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12822864/

    10-12 00:28
    查看更多