3D grafik 3D televizyonda izlenebilir bir şeye nasıl dönüştürülür?


9

Diyelim ki R'de bir 3D dağılım grafiğim veya sayısal verilerle dolu 3 alanı olan bir veri çerçevem ​​var.

Bu nasıl bir 3D televizyonda izlenebilir bir şeye "dönüştürülebilir" (Samsung'un deklanşör gözlüklerini kullanarak rastgele büyük ekranlı bir TV gibi)? Ya saçılma grafiğinin bir eksen etrafında dönen statik bir klibi ya da arsa ile daha iyi etkileşime girme (taşı, çevir, ...). Bunu yapmak için hangi programlara, kütüphanelere ihtiyacınız var?

(Ben sadece R'yi büyüttüm, çünkü işin yapıldığı yer burası.


1
Planın 3B temsiline zaten sahipseniz, ihtiyacınız olan tek şey ondan en az iki görünüm oluşturmaktır. Bu görüşler, gösterdiklerinde minimum miktarda farklılık göstermelidir. Dolayısıyla, "kameranız" arsaya bir açıdan bakarsa, ikinci bir görünüm elde etmek için kamerayı hafifçe sola veya sağa kaydırırsınız.
14'te slhck

1
Ve sonra görüntüleri TV'nin işleyebileceği bir çeşit çoklu görüntülü videoya kodlamanız gerekir, örneğin H.264 MVC veya bölünmüş stereo - bununla ilgili herhangi bir özelliğiniz var mı?
14'te slhck

@slhck: Gerçekten 3D gösterimine sahip değilim. Sadece R ile 3D olarak gösterilmesini sağlayabilirim. Ayrıca bir VRML temsili üzerinde iki kamera perspektifi kullanmak, grafikle etkileşimi engeller. Ölçekleri ayarlamak veya farklı veriler kullanmak gibi. : /
Raffael

1
Ah anlıyorum. Bu çok karmaşık olacak. Bilgisayarınızın grafik kartından gerçek 3D çıkışı sağlayabilen bir grafik oluşturmanız gerekir (örneğin, 3D görüş kitine sahip bir NVIDIA olanı), ancak böyle bir şeyin farkında değilim.
15'te slhck

1
3D çıkışı sağlayabilen bir grafik kartına (daha önce bahsedilen NVIDIA ve 3D vizyon gibi) ve ardından verilerinizi donanım hızlandırmalı bir 3D görüntü alanında (bir video oyununa benzer) gösteren bir programa ihtiyacınız vardır. İşleme (işleme.org) bu konuda size yardımcı olabilir.
evilspoons

Yanıtlar:


1

Animasyonunuzun her bir karesi için iki resim (sol ve sağ gözler için) oluşturabilir, yan yana ayarlayabilir (çok geniş bir resim veya yatay olarak sıkıştırılmış bir resim oluşturmak için) ve bu şekilde bir video dosyası oluşturabilirsiniz . Daha sonra bu dosyayı bir USB sürücüye yerleştirin ve modern bir 3D TV'ye takın ve 3D menüsüne bakın, görüntünün nasıl görüntüleneceğini anlayacak bir "yan yana" veya "SBS" seçeneği bulmalısınız. (Birçok örnek için YouTube'da "GoPro 3D" araması yapın.)

TV'ye monitör olarak bağlı bir bilgisayarla da aynısını yapabilirsiniz, ancak masaüstünün 3D olmayan kısımlarının her göz için çoğaltılmayacakları (ve tuhaf görünecekleri) için gizlenmesi gerekir.

Not: SBS modunda bir bilgisayarı 3D ekrana bağlarsanız, sunumunuzu başlatmak için gezinirken bir kerede bir gözün kapatılmasını yararlı bulacaksınız.


0

Gerçekten sadece rgl paketinden spinnable plot3d () gerekir .

  1. Grafiğinizin yönünü belirli, normal bir konumda başlatın.
  2. Temel grafiğinizin zıt yönlerde hafifçe döndürülmüş (tamamen ortalanmış lens benzeri görünüm için) veya sırasıyla biraz yakınlaştırılmış ve uzaklaştırılmış (daha standart 3D görünüm için) iki örnek oluşturun

    x. Grafiği daha fazla mavi renklendirin, daha yakın grafiği daha kırmızı renkte eşit olarak renklendirin.

  3. Temel grafiği göstermeyin. Tercihen tabanı, iki ofset grafiğinden her bir karede görüntülenen dört tamponu (veya çift tamponu) hesaplamak için kullanın. Her çizim döngüsünü güncelleyin. Güncellemeden sonra her örnek grafiğini eşzamanlı olarak görüntüleyin.
  4. Yüksek çözünürlüklü bir zamanlayıcı veya VSync kullanarak, tampon yığınını, verilen gözlük camı cihazınızın yenileme hızında kesin olarak oynatın.
  5. Umarım yenileme hızı uygulamanızda yapılandırılabilir, ayrıca deklanşör gözlükleriyle senkronize etmek için 'bir sonraki kareyi atla' seçeneği. (sol / sağ senkronizasyonu tersine çevirmek için)
  6. Temel grafiği güncellemeden önce, potansiyel olarak eşzamansız olarak doldurulmuş bir giriş arabelleğinden girişi kullanıcı geri bildirimi için tarayın.
  7. HDMI lol ile bir dizüstü bilgisayarı veya küçük linux cihazını TV'ye bağlayın.
  8. Bonus: Eğer gerçekten aşağı almak istiyorsanız şunu kullanabilirsiniz Rcpp ve GLFW kolu joystick / fare / gamepad deliliklere birlikte.

Rgl kısa bir açıklama ve bu sonunda görülebilir 3D eğirme araziler için de benzer bir paket var gönderme .

Mümkünse, OpenGL kullanarak her çizimin üzerine bir tür perspektif güdümlü bulanıklık efekti yerleştirmek isteyeceksiniz. Tabii ki, muhtemelen doğru yapmak için açılarla biraz ince ayar yapmanız gerekecek. Hatırlıyorsam bu açı <20 derece olmalı, ... ama kim bilir, ben değil!


hayır üzgünüm. Ben rgl ve rgl anaglif 3D kutudan destekler biliyorum. Bir sebepten dolayı gözlüklerden bahsediyorum. ama yine de teşekkürler;)
Raffael

@ Яaffael whoops! Aslında çok hızlı okuma nedeniyle gözlükler hakkında görmedim. Bunun için üzgünüm, bazı düzeltmeler ekledik.
Garet Claborn

Ayrıca, ara belleğe alma işlemi için R'yi OpenCL / GL birlikte çalışma özelliğiyle kullanabilir ve giriş arabelleklerine ayrı bir hizmet yazma özelliğine sahip olarak uygulamanıza salt okunur erişim sağlayabilirsiniz. (Daha sonra, bir giriş okunduktan sonra çok hızlı bir şekilde servise bir mesaj göndermek için tersine ihtiyacınız vardır) Veya çok benzer şekilde, uygulamanızın arabellekleri oluşturmasını ve köşeleri OpenCL ve C ++ / OpenGL / OpenCL oluşturucusuna göndermesini sağlayın yan.
Garet Claborn

Sorumu sildim çünkü o kadar alakalı olmayan yanıtlardan çok fazla aldım (şu ana kadarki gibi) ama siz de güncelleyebilirsiniz.
Raffael
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.