我目前正在努力解决一个似乎远远超出我的数学能力的问题(自从我做了一些适当的数学以来已经很长时间了……),我希望能对此提供一些帮助。
这是我的设置:
我得到了一些简单的形状(矩形),然后将它们的底点“投影”在一条直线上,从原点开始。
到目前为止,一切都很好。
但是现在,我想绘制变形的原始形状,好像它是在某个角度投影在飞机上一样。
请考虑我的代码中没有任何与旋转,等轴测或任何3D或伪2D透视图相关的内容,我只是想使用图形库绘制某些形状,从而只感觉到真实的东西。
这是我正在尝试做的一个快速绘图:
我知道的:
我想确定的是C和D点的坐标,如果我不费力地找到“Origin bis”坐标,这可能很容易。
我要做的是在可以视为“地板”(与我原来的矩形所在的平面可以看作墙的平面有关)上伪造矩形的投影。
也许我使问题变得过于复杂,或者也许我看不到任何其他更简单的方法来解决这个问题,但是在任何几何或数学方面,我真的都不擅长... :-(
非常感谢你的回答 !
最佳答案
嗯,我不知道我是否正确地理解了它,但是我认为您输入的参数太少了:
您说给出了以下信息:
我认为仅凭此信息就不可能获得投影的矩形。
另外,我认为您的绿线和“原始Bis”也无济于事。
也许尝试一下:
假设,也给出了一条穿过C和D点的蓝线。
然后,您可以通过将矩形的顶部投影到该蓝线上来找到投影的矩形。
因此,总而言之:
您定义一个原点+两条平行线,一条红色和一条蓝色。
然后,您可以将rect的顶部投影到蓝线上,并将rect的底部投影到红线上,得到点A,B,C,D
我希望这有帮助。
关于actionscript-3 - AS3-几何-2D平面上点的透视投影,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12822864/