2015-02-24 21 views
6

Rasterleştirme algoritmasında, bir üçgenin köşelerini ekrana yansıttığınızda ve ardından bir pikselin 2B üçgenin üstüne gelip gelmediğini bulduktan sonra, rasterleştirme algoritmasındaki 3B görüntülemede (veya bu konudaki geometride), genellikle derinliği veya z'yi bulmanız gerekir. Pikselin çakıştığı üçgenin koordinatı. Genel olarak, yöntem, üçgenin 2B "yansıtılan" görüntüsünde pikselin baryentrik koordinatlarını hesaplamayı ve daha sonra üçgenin orijinal köşeleri z koordinatlarını (köşeler önceden yansıtılmadan önce) enterpolasyon yapmak için bu koordinatları kullanır. Şimdi Köşeleri interpole olamaz tüm metin kitaplarında yazıldığıPerspektif İzdüşümü: 1/z'nin Doğrusal olduğunu ispatlıyor musunuz?

doğrudan köşe koordinatları ancak bunun yerine bunu yapmak gerekir:

(? Lateks işe alınamıyor üzgün)

1/z = W0 * 1/v0.z + w1 * 1/v1.z + w2 * 1/v2.z

nerede W0, w1, ve "piksel" bir barisentrik koordinatları w2 ise ilgili üçgen.

Şimdi, sonra ne arıyorum, iki şey vardır:

  • neyi z interpolating çalışmadığını göstermek için resmi kanıt olurdu?
  • 1/z'nin doğru şeyi yaptığını gösteren resmi kanıt nedir?

bu ev ödevi değil ;-) ve başıma bazı işler yaptık olduğunu göstermek için, ben 2.

Temelde bir üçgen bir uçakla tanımlanabilir soru için aşağıdaki açıklamayı bulduk denklem. Böylece yazabilir:

Ax + + Cz = D. Daha sonra

Eğer z = almak z izole (D - Ax - ile)/C

sonra

siz z bu formül bölmek Eğer, perspektif bir bölme ile olur ve ortaya çıkarsa, yeniden toplamak vb olsun:

1/z = C/D + A/D x/z + B/D y/z.

1/z = A'x/z + B'y/z + C:

Sonra '= C/D B' = B/D ve A '= A/D elde C isim '

X/z ve y/z, ekranda bir kez yansıtılan üçgenlerin noktalarının koordinatları olduğunu ve sağdaki denklemin bir "affine" işlevi olduğunu, dolayısıyla 1/z'nin lineer olduğunu söylüyor. işlev ???

Bu bana bir gösteri gibi gelmiyor mu? Ya da belki de bu doğru bir fikirdir, ancak bunun sadece bir affine işlevi olduğu denklemine bakarak nasıl söyleyebileceğinizi söyleyemezsiniz. Eğer tüm şartları çarparsak, sadece almak:

A'x + B'y + C'z = 1.

sadece temelde orijinal denklemler hangisi (sadece A 'B' ve C değiştirmeniz gerekiyor 'uygun terim ile'.Burada sormaya çalışıyorum, ama ne emin değil

+0

Ne yazık ki [StackOverflow'da LaTeX etkin değil] (http://meta.stackexchange.com/questions/30559/latex-on-stack-overflow). –

+0

Üçgeninizi alt bölümlere ayırma durumunu göz önünde bulundurun. Orijinal üçgenin ortasının, orijinal üçgenin yansıtılan köşelerinin ortasına yansıtmadığını unutmayın. – Ben

cevap

0

Eğer bakarsak:

1/z = A'x/z + B'y/z + C' 

ve olarak yeniden yazın:

(u,v) perspektif projeksiyonu sonra üçgenin ekran koordinatları
1/z = A'u + B'v + C' 

Üçgen üzerindeki bir noktanın (z) derinliğinin (u,v) ile doğrusal olmadığını, ancak 1/depth'un olduğunu ve ders kitaplarının size öğretmeye çalıştığını görebilirsiniz.