سؤال

أحاول تحقيق الإسقاط المائل ( http://en.wikipedia.org/wiki/Oblique_projection ) في إطار xna :

float cos = (float)Math.Cos(DegreeToRadian(45)) * -1; 
float sin = (float)Math.Sin(DegreeToRadian(45)) * -1; 

Matrix obliqueProjection = new Matrix( 
                                  1, 0, cos, 0, 
                                  0, 1, sin, 0, 
                                  0, 0, 1,   0, 
                                  0, 0, 0,   1); 

Matrix orthographicProjection = Matrix.CreateOrthographic(10, 10, -1, 100000); 

projection = orthographicProjection*obliqueProjection; 

كما ترون أنا فقط أضرب الإملاء بإسقاط مائل.

ما أحصل عليه هو هذا:

http://imageshack.us/photo/my-images/835/oblique1.png/

إنه في الأساس الشكل الذي سيبدو عليه الإسقاط الإملائي، ولكن مع بعض القطع البعيدة والغريبة.

كيف يمكنني تحقيق الإسقاط المائل المناسب؟شكرا مقدما

هل كانت مفيدة؟

المحلول

أجاب بواسطة Diki: http://forums.create.msdn.com/forums/p/85032/513412.aspx#513412 يجب تغيير رمز

مثل هذا: giveacodicetagpre.

نصائح أخرى

بالنسبة للمبتدئين، يمكنك تنفيذ الصيغة الصحيحة.

تقول مقالة ويكيبيديا أن مصفوفة الإسقاط تستخدم 0.5 * cos و 0.5 * sin بينما يستخدم الإصدار الخاص بك فقط cos و sin.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top