Ev Kişisel Finans JavaFX Programlama Örneği: 3D Box - mankenler

JavaFX Programlama Örneği: 3D Box - mankenler

İçindekiler:

Video: Java Ders-4 (3D Görüntü Oluşturma Örnek) 2025

Video: Java Ders-4 (3D Görüntü Oluşturma Örnek) 2025
Anonim

JavaFX, gerçekçi 3D modelleme için yerleşik bir desteği vardır. Aslında, JavaFX sahne grafiği doğasında üç boyutludur. Çoğu JavaFX programı yalnızca x ve y koordinatlarını belirterek yalnızca iki boyutta çalışır. Ancak, üçüncü boyuta geçmek için yapmanız gereken tek şey, sahnenizdeki grafiğin düğümlerini üç boyutlu alanda yerleştirmek için z-koordinatlarını belirtmektir.

JavaFX, 3D dünyalarda 3B nesnelerin oluşturulması ve görüntülenmesi için ayrılmış zengin bir set içerir. Küpler ve silindirler gibi üç boyutlu şekiller oluşturabilirsiniz. 3B nesnelerinize farklı açılardan ve farklı perspektiflerden bakmak için sanal kamerayı 3B alanı çevirebilirsiniz.

Ve sanal dünyaların nihai görünümünü dikkatli bir şekilde kontrol etmek için ışık kaynakları bile ekleyebilirsiniz. Kısacası, JavaFX şaşırtıcı 3D sahneler üretebilir.

Java dünyanıza bir 3D kutu ekleyin

Bu adımda, 3D dünyasına bir nesne ekleyin: Bu durumda, Box sınıfı ile temsil edilen bir kutu. İşte kod:

Kutu kutusu = yeni Kutu (100, 100, 100); Kutu. setMaterial (blueStuff); Kutu. setTranslateX (150); Kutu. setTranslateY (-100); Kutu. setTranslateZ (-100); kök. GetChildren (). (Kutu) ekleyin;

Box kurucusu, kutunun genişliğini, yüksekliğini ve derinliğini temsil eden üç bağımsız değişkeni kabul eder. Bu örnekte, üçü de 100 olarak ayarlanmıştır. Böylece, kutu her tarafı 100 ünite olacak şekilde küp şeklinde çizilecektir.

Kutuya silindirle aynı malzeme verilir; Sonra kutunun perspektif görünümünü elde edebilmeniz için üç eksene de çevrilir. Şekilde, işlendiğinde kutunun nasıl göründüğü gösterilmektedir. Gördüğünüz gibi, kutusunun sol ve alt yüzleri görülebilir, çünkü kameranın perspektif kazanabilmesi için kutunun üstünü ve sağını tercüme ettiniz.

3D kutuyu döndür

Bu adımda, daha ilginç bir perspektif görünümü oluşturmak için kutuyu döndürün. Bir 3B nesneyi döndürmenin iki yolu vardır. En basit şey, nesnenin setRotate yöntemini çağırmak ve bir dönme açısı sağlamaktır:

kutusu. setRotate (25);

Varsayılan olarak, bu nesneyi z ekseni üzerinde döndürecektir. Bunun görselleştirilmesi zorsa, nesneyi z-eksenine paralel olan uzun bir çubuk ile şişirmeyi hayal edin. Ardından, nesneyi şişta döndürün.

Nesneyi farklı bir eksen boyunca döndürmek istiyorsanız, önce setRotationAxis öğesini çağırın. Örneğin, nesneyi x ekseni üzerinde döndürmek için şu sırayı kullanın:

kutusu. setRotationAxis (Döndür, X_AXIS); Kutu. setRotate (25);

Şişeyi, x-eksenine paralel olarak şişeyle kutudan geçirdiğinizi ve ardından kutuyu 25 derece döndürdüğünüzde düşünün.

Bir 3B nesneyi döndürmek için setRotate yöntemini kullanmanın tek problemi, bir defada yalnızca bir eksen üzerinde çalışmasıdır. Örneğin, kutuyu hem z hem de x ekseni üzerinde 25 derece döndürmek istediğinizi varsayalım. Aşağıdaki kod değil bunu başarır:

kutusu. setRotationAxis (Döndür, X_AXIS); Kutu. setRotate (25); Kutu. setRotationAxis (Döndür, Z_AXIS); Kutu. setRotate (25);

Z ekseni üzerinde kutuyu döndürmek için ikinci kez setRotate yöntemi çağrıldığında, x ekseni dönüşü sıfırlanır.

Birden fazla eksende döndürmek için bunun yerine Rotate sınıfını kullanmalısınız. Nesneyi döndürmek istediğiniz her eksene ayrı bir Döndürme örneği oluşturursunuz ve ardından Döndüren tüm örnekleri, getTransforms () aracılığıyla nesnenin Dönüşümler koleksiyonuna eklersiniz. Bu gibi addAll yöntemi:

Döndür rxBox = yeni Döndür (0, 0, 0, 0, Döndür; X_AXIS); Döndür ryBox = yeni Döndür (0, 0, 0, 0, Döndür, Y_AXIS); Döndür rzBox = yeni Döndür (0, 0, 0, 0, Döndür, Z_AXIS); rxBox. setAngle (30); ryBox. setAngle (50); rzBox. setAngle (30); Kutu. getTransforms (). addAll (rxBox, ryBox, rzBox);

Döndüren yapıcı dört parametre kabul eder. İlk üç, dönme ekseninin geçeceği cismin içindeki noktanın x, y ve z koordinatlarıdır. Genellikle, nesneyi merkez noktası etrafında döndürmek için bu parametreler için sıfırlar belirtirsiniz. Dördüncü parametre rotasyon eksenini belirtir.

Bu şekil, kutu döndürüldükten sonra nasıl göründüğünü gösterir.

Döndükten sonra kutu.

JavaFX Programlama Örneği: 3D Box - mankenler

Editörün Seçimi

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Eğer bir robot inşa ediyorsanız, çok sayıda elektrik bağlantısı, bu yüzden çok sayıda iğne ile uğraşıyorsunuz. Aşağıdaki tabloda, genişleme konektörleri ve pim numaraları için sinyal gösterilmektedir. İstenmeyen çapraz bağlantıları önlemeye yardımcı olabilir. Genişletme Konnektörü Pin Numarası Sinyal Genleşmesi Konnektör Pin Numarası Sinyal 1, 2 Toprak 16 P11 Yeşil LED 3, 4 + 5 ...

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Sıcak noktaları bulma konusunda çevrimiçi dizinler, gezinmek için mükemmel bir araçtır. ABD, Kanada ve dünyadaki artan sayıda sıcak nokta. Size kolaylık sağlamak için, bu dizinlerden bazıları. Dizin Notları JiWire WiFi Bulucu 144 ülkede ücretsiz ve ücretli Wi-Fi yerleri dizini sağlar. AT & T ...

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Yakında yapmadıysanız, siz Yükseltmeyi düşünüyorum. Aşağıdaki tabloda gösterildiği gibi, yüksek frekanslı (HF) bantlarda kullanmak için daha fazla frekansa sahipsiniz. Tüm lisans sınıfları için ABD frekansı ve mod ayrıcalıklarının eksiksiz bir listesi, Amerikan Radyo Röle Ligi'nden (ARRL) edinilebilir. Bant Frekansları ...

Editörün Seçimi

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da maskeleme kavramı Bir parçanın bölümlerini gizlemek ya da ortaya çıkarmak için bir şekli (ya da şekilleri) kullanır - tıpkı evinizdeki küçük bir pencere aracılığıyla dışarıdan bakmak gibi. Pencere boyutu, içerideyken görebileceğiniz şeyi sınırlar. Flash, özel bir katman özelliklerine sahiptir ...

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Adobe'nin kapsamlı çizim ve animasyon yetenekleri Flash Creative Suite 5, Flash'ın 3D Döndürme aracıyla büyük ölçüde geliştirilebilir. 3B Döndürme aracı, sembolü x, y ve z eksenleri etrafında döndürmek ve dönüştürmek için herhangi bir film klibi örneğinde kullanılabilir. Bir film klibi örneğini 3D olarak oluşturmak için bunları izleyin ...

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

In 3D Döndürme aracının aksine Flash CS5 film kliplerini bir eksen etrafında döndüren Adobe Flash Creative Suite 5, 3D Çeviri aracı, bir film klibini algılanan mesafeyi ve sahnedeki diğer nesnelere göre derinliğini değiştirmek için belirli bir eksende kaydırır. Bu kavramı üçlü düşünün ...

Editörün Seçimi

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Praxis İlköğretim sınavının Matematik bölümü bir dizi çizgide bir eşitsizliğe çözüm bulmanızı gerektiren bir soru. Başlamak için, çözümdeki sayıya bir nokta koyarsınız. Sembolü> veya

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Praxis İlköğretim Matematik ve Bilim bölümleri Eğitim sınavı, farklı ölçme şekillerine aşina olmanız gereken sorular içerir. Ölçümler, çeşitli tiplerde tanımlanabilir. Mesafe için İngilizce sistem birimleri inç, feet, metre ve mil içerir. Bunlar birbirine dayanır. Bir ayak 12 ...

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Praxis İlköğretim sınavı, yardımcı stratejilerinizi test eden sorular içerir öğrenciler akıcılıklarını İngilizce olarak geliştirirler. Bu stratejiler, grafik düzenleyicileri kullanarak ve çıkarımlar yapmayı içerebilir. Akıcı bir okuyucu, sınıf düzeyinde bir metni doğruluk, çabukluk ve ifade ile okuyabilir.