2013-02-23 54 views
11

जल्दी 2014 तक पर बूलियन संचालन, एसवीजी कल्पना किसी भी बूलियन संचालनएसवीजी पथ

बूलियन संचालन के लिए निर्मित समर्थन नहीं है ज्यादातर अतिव्यापी रास्तों के निहित ज्यामिति में फेरबदल के लिए तरीके हैं। वे जटिल आकारों के निर्माण को सरल आकार पर संचालन करके अनुमति देते हैं और किसी भी तरह Constructive Solid Geometry(CSG) के समान हैं।

हालांकि यह प्रश्न 2 डी वेक्टर पथों को संदर्भित करता है। लोकप्रिय पथ संचालन हैं: संघ, सबस्ट्रक्शन, छेड़छाड़, एक्सओआर (एक्सक्लूसिव या)।

क्या वहां कोई भी पुस्तकालय तैर रहा है जिससे मुझे इसमें मदद मिलेगी?

+0

क्या आप कुछ उदाहरण इनपुट/आउटपुट जोड़े दे सकते हैं? –

+0

तो वेन आरेखों की तरह? –

+0

उन ध्वनि सेट ऑपरेशन की तरह, बुलियन ऑपरेशन नहीं। और आप दो सर्कल को एक आकृति 8 में नहीं बदल सकते हैं। एक एसवीजी सर्कल है लेकिन एसवीजी आंकड़ा -8 नहीं है। आप इसके लिए KineticJS जैसे कैनवास लाइब्रेरी का उपयोग करना चाह सकते हैं। –

उत्तर

8

Javascript Clipper है, जो पथ पर Boolean Operations के सभी सेटों की अनुमति देता है लेकिन इस शर्त के तहत कि इनपुट पथ बहुभुज है।

  • हम किसी भी घटता (घन/द्विघात बेज़ियर वक्र) है, तो वे बहुभुज आसानी से De Casteljau algorithm उपयोग करने के लिए उप-विभाजित किया जा सकता है।

    • उपखंड नमूना काफी अधिक है, तो परिणाम एक बहुभुज कि नेत्रहीन (कोने की संख्या के रूप में डेटा की एक बड़ी राशि की कीमत पर एक वक्र की तरह दिखता है रैखिक बढ़ जाती है, की निष्ठा के आधार पर किया जाएगा उपखंड)।

फिर हम बूलियन संचालन के लिए JavaScript Clipper में पथ फ़ीड कर सकते हैं।


यहां चेतावनी यह है कि अगर इसमें वक्र शामिल हैं तो हम पथ की अंतर्निहित "सुडौल" प्रकृति को खो देते हैं। ऊपर वर्णित "पॉलीगोनिज़ेशन" करना, एक तरफा सड़क, कम या ज्यादा है।

+0

क्या होगा यदि ऐसा पोलोगोनिज़ेशन कोई विकल्प नहीं है? – Thayne

+0

@thayne Google 'वसा लाइन क्लिपिंग' –