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) 2024

Video: Java Ders-4 (3D Görüntü Oluşturma Örnek) 2024
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

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Tüm Excel 2016 çalışma sayfaları şablonlardan gelmemektedir. Çoğu zaman, belirli çalışma kitaplarının türlerinin üretildiği standart modeller olarak işlev göreceği düşünülen oldukça eşsiz elektronik tablolar oluşturmanız gerekir. Aslında, Excel'de oluşturduğunuz e-tabloların çoğu, bu türden olabilir, özellikle işiniz güvenmiyorsa ...

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Veritabanından sonra yolda gidiyorsanız ve Excel 2013'te kayıt girmekle yetiniyorsanız, veritabanında düzenli bakım yapmak ve düzenlemek için veri formunu kullanmaya başlayabilirsiniz. Örneğin, değiştirmek istediğiniz bir kaydı bulmak için veri formunu kullanabilirsiniz ve sonra düzenlemeleri yapın ...

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Kayıtları düzenlemeye veya silmeye ve masada rutin bakım yapmaya ihtiyaç duyarsınız. Kayıtları el ile çalışma sayfasında düzenleyebilir veya gerekli değişiklikleri yapmak için bir veri formu kullanabilirsiniz. Örneğin, bir veri dosyasını bulmak için veri formunu kullanabilirsiniz ...

Editörün Seçimi

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Veri tabloları, grafiğin değerlerini grafiğin altındaki bir tabloda görüntüler. 3B grafik kullanırken olduğu gibi, grafiksel bir ekranla birlikte kesin değerleri görmeniz gerekirse yardımcı olurlar. Ayrıca, bazı çizelgelerde okunması zor olan veri etiketlerinden daha uygun olabilirler.

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

ÖğEleri bir Excel pivot tabloya ekler. Şimdi, açıkçası, hesaplanan bir öğe eklemek genelde mantıklı değil. Pivot tablolarınız için, eksiksiz, zengin bir Excel listesinden veya bazı veritabanlarından veri aldıysanız, öğe miktarlarını hesaplayarak veriler oluşturmak, biraz goofy'den daha fazlasını gerektirir. Ancak, ...

Editörün Seçimi

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Güvenlik testi veya etik bir kesmek gerçekleştirirken, halka açık veritabanlarını ve kaynaklarını arayarak başkalarının sisteminiz hakkında ne bildiğini öğrenebilirsiniz. WHOIS aramaları En iyi başlangıç ​​noktası İnternet'te bulunan araçlardan herhangi birini kullanarak bir WHOIS araması gerçekleştirmektir. Içinde ...

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Hiçbir antispam programı mükemmel değildir; belirli bir miktarda spam'ın gelen kutunuza geçmesini bekleyin. Alınmayan spam miktarını en aza indirgemek için siz (ve kullanıcılarınızın) aklınızda tutmanız gereken bazı ipuçları: Şifrenizi isteyen veya ...

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

- Belgelenen ekran görüntülerinden ve manuel gözlemlerden, kullandığınız çeşitli güvenlik açığı tarayıcıları tarafından üretilen detaylı raporlara kadar - ne yapıyorsunuz? Belgelerinizi ince dişli bir tarakla incelemeniz ve öne çıkan tüm alanları vurgulam