الإسقاط المائل في xna
-
29-10-2019 - |
سؤال
أحاول تحقيق الإسقاط المائل ( 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
.
لا تنتمي إلى StackOverflow