سؤال
لدي نقطة P ، و 2 شرائح خط في طائرة ثنائية الأبعاد. النقطة P هي موقع للعرض من حيث تتطلع الكاميرا نحو شرائح الخط. أرغب في التحقق مما إذا كان الخط 1 خطًا مخفيًا جزئيًا أو بالكامل خلف السطر 2 ، عند النظر من النقطة P.
المحلول
أعتقد أن السؤال هو ما إذا كان السطر الثاني "ملثمين" حسب السطر الأول.
دعك نقول لك نقطة الكاميرا هي C ، وأقاطعك هي A1 و A2 و B1 و B2.
أود حساب المنتجات المتقاطعة CA1XCB1 و CA2XCB2. تمنحك العلامة ما إذا كانت النقطة إذا كانت نقطة B1 على اليسار أو يمين خط CA1. يعتمد ذلك على كيفية توجيه مثلثاتك CA1A2 و CB1B2 (يجب أن تكون موجهة كما هي ، فهي عديدة للقيام بذلك).
يمكنك بعد ذلك استخدام العلامة لمعرفة ما إذا كنت في الحالات التالية:
- Ca1xcb1 سلبي أو Ca2xcb2 موجب ، ثم مرئي جزئيًا
- العكس ، ثم مخبأة.
يمكنك أيضًا حساب CA1XCB2 و CA2XCB1 لغرامة الحالات المحببة.
نصائح أخرى
تعد إجابة Slurdge بداية جيدة ، لكنها أكثر تعقيدًا من ذلك.
إذا كان الجزء 2 من الخط أقرب إلى C من الجزء 1 ، فقد لا يزال مرئيًا ، على سبيل المثال
A1-------A2
B1-B2
C
هنا B1 و B2 هما "داخل" قطاع A1A2 ، لكنهما غير مخفيين.
أصعب واحدة في العمل هي إذا كان B1 "بين" A1 و A2 ، ولكن أقرب إلى الكاميرا ، في حين أن B2 ليس بين "A1 و A2 ، ولكن أبعد من الكاميرا:
B2
A1-----A2
B1
C
يمكن لـ B1B2 قصاصة شريحة الخط ، مما يجعل جزءًا صغيرًا من B1B2 مخفيًا (أو ربما لا!). أعتقد أنه سيتعين عليك العثور على تقاطع A1A2 و B1B2 للتحقق مما إذا كان هذا يحدث بالفعل.