تقاطع مثلث النقطة ثلاثية الأبعاد من إحداثيات الماوس؟

StackOverflow https://stackoverflow.com/questions/902348

سؤال

أعرف كيفية اختبار تقاطع بين نقطة ومثلث.

... لكنني لا أحصل عليه، وكيف يمكنني نقل وضع البداية في النقطة على مستوى الشاشة بدقة باستخدام إحداثيات الماوس، لذلك يجب أن تتغير زاوية النقطة اعتمادا على مكان وجود مؤشر الماوس على الشاشة، كما يجب أن يعمل هذا أيضا بشكل مثالي بغض النظر عن زاوية المنظور الذي أستخدمه في تطبيق OpenGL الخاص بي، وبالتالي فإن زاوية النقطة ستكون مختلفة على زوايا منظور مختلفة ... Gluperspective () هي وظيفة الحديث عنها.

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

المحلول

حسنا، سيأخذ رصاصة وتخمين ما تقصد. التخمين هو أنك ترغب في اختيار الكائنات مع الماوس الخاص بك. الدفع:

glunproject..

هذا يحول الشاشة إحداثيات العودة إلى إحداثيات العالم ثلاثية الأبعاد.

غوغل لديه المزيد من المعلومات إذا واجهت مشاكل.

هتافات !

نصائح أخرى

نعم، أريد أن نقل النقطة على مستوى الشاشة، لذلك، لذلك يمكنني تقديم مكعب في هذه النقطة حيث يكون الماوس حاليا، باستخدام إحداثيات ثلاثية الأبعاد، ثم أطلق النار على خط من هذا الموقف إلى المكان الذي يوجد فيه فأنا يشير، لذلك سيضرب المثلث في العالم ثلاثي الأبعاد، وكيف يمكنني تحديد هذا الكائن بالماوس.

آسف لكونك غير واضح: /

--

تحرير: Yay حصلت عليه يعمل مع هذا البرنامج التعليمي Nehe! شكرا، لم أكن أعرف أنه سيكون هذا سهلا!

هذا هو الرمز أنا باستخدام الآن ويعمل بشكل رائع:

void GetOGLPos(int x, int y, GLdouble &posX, GLdouble &posY, GLdouble &posZ){
    GLint viewport[4];
    GLdouble modelview[16];
    GLdouble projection[16];
    GLfloat winX, winY, winZ;

    glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
    glGetDoublev(GL_PROJECTION_MATRIX, projection);
    glGetIntegerv(GL_VIEWPORT, viewport);

    winX = (float)x;
    winY = (float)viewport[3]-(float)y;
    glReadPixels(x, int(winY), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ);

    gluUnProject(winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);
}

تحتاج إلى إنشاء راي (خط) يمر عبر موقع الماوس عمودي على الشاشة.

أوصي بالحصول على بعض المعلومات الأساسية عن الهندسة ثلاثية الأبعاد وتوقعات ثنائية الأبعاد قبل أن تذهب أبعد من ذلك بكثير.

الدفع ويكيبيديا

أ بحث كتاب على جوجل لقد توصلت إلى بعض الألقاب.

فولي وفان السد على الرغم من أن الكتاب النهائي - هنا Amazon.co.uk. أو هنا على Amazon.com.

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