Я должен создать 3-е воздействие глубины для своего изображения. Номер 1 - то, что я имею, и номер 2 является формой, где я хочу преобразовать номер 1. Так есть ли какой-либо метод для этого в стандарте Java графические библиотеки или некоторые другие библиотеки с открытым исходным кодом?
Это невозможно сделать с помощью класса AffineTransform
. См. Статью в Википедии об аффинном преобразовании:
В общем, аффинное преобразование состоит из линейных преобразований (вращения, масштабирования или сдвига) и сдвига (или «сдвига»).
Что вам нужно, так это некоторая форма преобразования перспективы. Из http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/PerspectiveTransform.html
Перспективное преобразование может отображать произвольный четырехугольник. в другой произвольный четырехугольник, сохраняя прямолинейность линий. В отличие от аффинного преобразования, параллелизм строк в источнике не обязательно сохраняется на выходе.
Из http://answers.google.com/answers/threadview/id/515829.html
Java Advanced Imaging API позволяет легко выполнять перспективное преобразование.
Как и в Java2D и Java3D, эти процедуры оптимизированы, они не запускаются обычным образом интерпретируемым java - поэтому они очень быстрые, как хорошо.
JAI можно загрузить с
http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html
Вы можете найти информацию о том, как запустить перспективное преобразование в :
http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/
Если вы хотите быстро рисовать в 3D, я бы посоветовал изучить решение для 3D-рендеринга, такое как OpenGL / JOGL.
Если это всего лишь быстрое однократное преобразование, то вы можете довольно легко смоделировать это,