2 पंक्ति खंडों का वर्णन करने वाले 4 बिंदुओं को देखते हुए, यदि आप रेखा A से रेखा B की ओर या दूर हैं, तो आप कैसे गणना करेंगे?
2 लाइनों की एक निश्चित लंबाई होती है, और इसे X1 / y1 से x2 / y2 तक की दूरी के रूप में मापा जा सकता है।
2 पंक्ति खंडों का वर्णन करने वाले 4 बिंदुओं को देखते हुए, यदि आप रेखा A से रेखा B की ओर या दूर हैं, तो आप कैसे गणना करेंगे?
2 लाइनों की एक निश्चित लंबाई होती है, और इसे X1 / y1 से x2 / y2 तक की दूरी के रूप में मापा जा सकता है।
जवाबों:
बता दें A
और B
काली रेखा पर दो बिंदु हैं। चलो C
और D
अपने नीले खंड हो। z
क्रॉस उत्पाद के समन्वय का संकेत AB^AC
आपको बताता है कि क्या C
काली रेखा के "बाएं" या "दाएं" हैं। इसी तरह, क्रॉस उत्पाद AB^CD
आपको बताता है कि क्या CD
काली लाइन के "बाएं" या "दाएं" हैं।
हम वास्तव में जानना नहीं चाहते हैं कि यह सही है या नहीं; हम चाहते हैं कि यह सुनिश्चित हो कि वे एक ही दिशा या विपरीत दिशा हैं, इसलिए हम दो मूल्यों को गुणा करते हैं।
निम्नलिखित छद्मकोश को इसलिए काम करना चाहिए:
z1 = (xB-xA)*(yC-yA) - (yB-yA)*(xC-xA);
z2 = (xB-xA)*(yD-yC) - (yB-yA)*(xD-xC);
z3 = z1 * z2;
if (z3 < 0)
; /* Pointing towards (BUT maybe even crossing) */
else if (z3 > 0 || z2 != 0)
; /* Pointing away */
else
; /* Parallel */
मुझे डर है कि मुझे बेजियर वक्र के लिए एक उचित समाधान लिखने के लिए कुछ समय चाहिए। निम्नलिखित स्थिति की ओर या दूर है?
प्रारंभ बिंदु मान लेना हरे रंग का चक्र है, और अंतिम बिंदु लाल तीर है
प्रारंभ बिंदु के बीच की दूरी को DS और काले खंड के रूप में गणना करें, और DE के रूप में अंतिम बिंदु (लाल तीर) के लिए भी ऐसा ही करें। यदि DS> DE, तो खंड की ओर इशारा कर रहा है। अगर DE> DS, यह इंगित कर रहा है। यदि दोनों समान हैं, तो दोनों समानताएं हैं।
आप किसी सेगमेंट में एक बिंदु से दूरी की गणना करने के लिए कैसे मिल सकता है यहाँ और एक द्विघात बेज़ियर वक्र करने के लिए, यहाँ । हालांकि, बीज़ियर वक्र के आकार के आधार पर, यह अजीब परिणाम दे सकता है (वक्र खुद को पार कर सकता है)