2010-07-08 21 views

cevap

5

Bu, AffineTransform sınıfı kullanılarak yapılamaz. afin dönüşüm Ara makalesine bakın: Genel olarak

, bir benzeşik transformasyon lineer dönüşümlerin (döndürme, ölçeklendirme veya kesme) ve çeviri (ya da "kayma") oluşmaktadır.

İhtiyacınız olan şey bir tür perspektif dönüşümüdür. http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/PerspectiveTransform.html

bir perspektif transformasyonu hatları düzlüğünü korurken, diğer bir rasgele dörtgen içine rasgele bir dörtgen haritalama edebilen kaynaktan. Bir afine dönüşümden farklı olarak, kaynaktaki çizgilerin paralellikleri çıktıda zorunlu olarak korunmaz.

http://answers.google.com/answers/threadview/id/515829.html

itibaren Java Advanced Imaging API kolayca perspektif dönüşümü gerçekleştirmesini sağlar. Java2D ve Java3D

gibi, bu rutinleri her zamanki java yorumlanır şekilde koşmak değildir, optimize edilmiş - bu yüzden çok hızlı iyi gibidir.

JAI Sen perspektif dönüşümü çalıştırmak için nasıl bilgi bulabilirsiniz

http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html

indirilebilir: Yardım için

http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/

+0

Thanx ama bulamadık herhangi bir örnek JAI perspektif dönüşümü nasıl kullanılır, ve bu JavaDocs oldukça bilgilendirici değildir ... – newbie

+0

Birisi bana bunun matematik kısmı ile yardımcı oldu Burada soru http://stackoverflow.com/questions/4217370/how-can-i-project-an-arbitrary-plane-identified-by-4-points-unto-a-2d-plane – Scott

0

sonra ben böyle OpenGL/JOGL gibi bir 3D render çözelti içine bakarak öneririz ediyorum 3D'de hızlı çizim bir sürü yapmak istiyorsanız.

bu sadece çabuk kerelik dönüşüm sonra

  • 1. karşılık gelen çizgi ölçekleme 2.
  • tüm hatlar üzerinde döngü ve ters çizerek oldukça kolay taklit edebiliriz ise 2'de satır, doğru orantıya doğru germe (bunu çalıştırmak için bazı temel matematiklere ihtiyacınız olacak)