वोरोनोई मेश बनाने के लिए पाइपलाइन


10

मैं एक माया प्लगइन लागू करना चाहूंगा (यह सवाल माया से स्वतंत्र है) 3D वोरोनोई पैटर्न बनाने के लिए, कुछ इस तरह

यहाँ छवि विवरण दर्ज करें

मुझे सिर्फ इतना पता है कि मुझे पॉइंट सैंपलिंग से शुरुआत करनी है (मैंने इस पेपर में वर्णित एडाप्टिव पॉइज़न सैंपलिंग एल्गोरिथम लागू किया है )।

मैंने सोचा था कि, उन बिंदुओं से, मुझे वोरोनोई को लागू करने वाले जाल के 3 डी तार बनाना चाहिए (मैंने पायथन का उपयोग करने की कोशिश की। scipy.spatial.Voronoi लेकिन परिणाम मुझे उम्मीद थी कि कुछ अलग था)।

मुझे कुछ याद आ रहा है? क्या कोई भी उचित पाइपलाइन और एल्गोरिदम का सुझाव दे सकता है जिसे मुझे इस तरह के पैटर्न बनाने के लिए लागू करना होगा?

[संपादित करें] मैं इस बात का कुछ उदाहरण देता हूं कि मुझे scipy.spatial.Voronoi से प्राप्त होने वाले परिणाम को संभालना है (जैसा कि यहां बताया गया है ):

vor = Voronoi(points)
for vpair in vor.ridge_vertices:
    for i in range(len(vpair) - 1):
        if all(x >= 0 for x in vpair):
            v0 = vor.vertices[vpair[i]]
            v1 = vor.vertices[vpair[i+1]]
            create_line(v0.tolist(), v1.tolist())

ग्रे कोने सैंपल पॉइंट्स हैं (मूल आकार एक साधारण गोला था): यहाँ छवि विवरण दर्ज करें

यहाँ एक और अधिक जटिल आकार (एक हाथ) है यहाँ छवि विवरण दर्ज करें


जवाब देने के लिए धन्यवाद। मैंने जो किया उसे दोहराने जा रहा हूं और सुझाए अनुसार स्क्रीन पोस्ट कर रहा हूं। वैसे भी इस सवाल का अंतिम इरादा मेरे कोड को डिबग करना नहीं है, लेकिन यह समझने के लिए कि मैं जो कर रहा हूं वह सही है या अन्य चरण हैं जो मुझे बीच में याद आ रहे हैं!
जिलोक

सुझाव के अनुसार उदाहरण जोड़े!
जिलोक

पॉइसन सैंपलिंग के बिंदु सही हैं। एल्गोरिथ्म जो उन्हें उत्पन्न करता है वह पूरी तरह से परीक्षण की गई इकाई है और जिन्हें आप स्क्रीन में देखते हैं, वे नमूना बिंदु में केंद्र के साथ गोलाकार होते हैं जो कि मैं प्रोग्राम को वोरनोई (अंक) कहने से पहले बनाया गया था! मुझे चिंता है कि मैं उचित मार्ग का अनुसरण नहीं कर रहा हूं या मैं
वोरोनोई

आपके द्वारा दिखाए गए चित्रों में 2d फ़ंक्शन पर वोरोनोई किया गया है।
पूजा

@ जूजा उदाहरण छवियों से मुझे उम्मीद थी कि 2 डी सतह पर वोरोनोई सेल किनारों थे जो आवश्यक थे (3 डी सतह में दिए गए विमान अनुभागों के संग्रह के बजाय, गोलाकार सतह पर बिंदुओं को जोड़ने वाले लाइन खंडों का एक संग्रह देने के लिए) । हालांकि, scipy.spatial.Voronoi उन सतहों में स्थित सतहों के बजाय N आयामी रिक्त स्थान के लिए डिज़ाइन किया गया लगता है। मैं तुरंत नहीं देख सकता कि 3D बिंदुओं के लिए इसका उपयोग किसी 2D सतह पर कैसे किया जाएगा।
ट्राइकोप्लाक्स ऑक्ट

जवाबों:


1

http://www.cs.sandia.gov/~samitch/papers/vor_final.pdf किसी भी प्रोग्रामिंग में कंप्यूटर एल्गोरिथ्म नहीं है, लेकिन यू कुछ प्लेन प्रतिबिंब और एल्गोरिदम से इसे आसानी से दोहराने में सक्षम होना चाहिए लिंक ऊपर।


ComputerGraphics.SE में आपका स्वागत है! यह आमतौर पर एक अच्छा विचार है कि स्टैक एक्सचेंज स्वयं पर उत्तर दें (उदाहरण के लिए लिंक नीचे जाएं और सामान्य रूप से भी ताकि लोगों को यह बताने के लिए लिंक का पालन करने में सक्षम न हो कि क्या कोई उत्तर उनके लिए उपयोगी है)। आप कागज की सामग्री के एक संक्षिप्त सारांश को शामिल करके अपने उत्तर को बेहतर बनाना चाह सकते हैं।
मार्टिन एंडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.