我正在寻找适当的转换,使2D图像看起来像3D绘图。如果我在一张纸上绘制一条平行线的“道路”,然后将页面顶部倾斜远离你,那么道路似乎消失在远处就是我正在寻找的。 p>
我正在使用Java并且想要一个合适的API /库。我不相信“AffineTransformation”能够实现这一目标。
答案 0 :(得分:3)
你不需要AffineTransformation,因为它总会保留平行线,这不是你想要的。
幸运的是,Java Advanced Imaging API(javax.media.jai
)完全符合您的要求,形式为PerspectiveTransform
类(单击该文档的链接)。
答案 1 :(得分:0)
我不能给你一个简单的答案,但我可以告诉你,你想要画的是两点观点。有了这些信息,您可能会找到一个可以获取3D对象并生成透视图的库。
这是我之前看到的一个简单的Java小程序,它展示了两点观点: http://mathforum.org/workshops/sum98/participants/sanders/TryPersp.gsp.html
希望这有帮助!
答案 2 :(得分:0)
你的问题不是微不足道的,但肯定是可以解决的。您可以拍摄任何四边图像并应用3D透视变换。只是不要指望它是一个单行。
我现在在家(在睡觉前检查SO,当然:D),但我几乎100%确定这是我用来在C#中找到相应代码的网站:
http://ryoushin.com/cmerighi/en-us/61,2007-10-29/Image_Distortion_Enhancements.aspx
将它移植到java应该相当简单。如果链接没有解决您的答案,请告诉我,我将在明天编辑我的答案并提供更多信息。