3D外观2D绘图的适当转换 (Java)

4

我正在寻找适当的转换方式,使2D图像看起来像3D绘图。如果我在一张纸上画一条带有平行线的“道路”,然后将页面的顶部向你远离倾斜,使道路看起来消失在远处,这就是我要寻找的效果。

我正在使用Java,并需要一个适当的API /库。我不认为“AffineTransformation”可以实现这一点。

3个回答

3

您不需要使用AffineTransformation,因为它始终会保留平行线,而这不是您想要的。

幸运的是,Java高级图像API(javax.media.jai)正好有您需要的东西,即PerspectiveTransform类(单击该链接以获取文档)。


0

我不能给你一个简单的答案,但我可以告诉你,你想要绘制的是双点透视。有了这个信息,也许你能找到一个库,它可以将3D对象转换成透视图。

这里有一个简单的Java小程序,我之前见过,演示了双点透视: 链接

希望这可以帮到你!


0

你的问题并不是微不足道的,但肯定是可以解决的。你可以取任何四边形图像并应用3D透视变换。只是不要期望它是一行代码。

我现在在家里(当然,在睡觉前检查SO :D),但我几乎100%确定这是我用来找到C#中适当代码的网站:

http://ryoushin.com/cmerighi/en-us/61,2007-10-29/Image_Distortion_Enhancements.aspx

将其移植到Java应该相当简单。如果链接无法解决您的问题,请告诉我,明天我会编辑我的答案并提供更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接