मेष त्रिकोण के लिए मूल वक्रता की गणना करने का सबसे सरल तरीका क्या है?


20

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

मान लें कि मैं सभी पदों के पदों और मानदंडों को जानता हूं।

जवाबों:


24

जब मुझे त्वचा की छाया के लिए जालीदार वक्रता के अनुमान की आवश्यकता होती है, तो जिस एल्गोरिथ्म को मैंने समाप्त कर दिया, वह इस प्रकार था:

सबसे पहले, मैंने मेष में प्रत्येक किनारे के लिए एक स्केलर वक्रता की गणना की। यदि किनारे में और मानदंड एन 1 , एन 2 हैं , तो मैंने इसकी वक्रता का अनुमान लगाया है:p1,p2n1,n2

curvature=(n2n1)(p2p1)|p2p1|2

यह मानदंड में अंतर की गणना करता है, किनारे की लंबाई के एक अंश के रूप में, किनारे के साथ अनुमानित है। (इस सूत्र के साथ मैं कैसे आया, इसके लिए नीचे देखें।)

फिर, प्रत्येक शीर्ष के लिए मैंने इसे छूने वाले सभी किनारों की वक्रता को देखा। मेरे मामले में, मुझे बस "औसत वक्रता" का एक स्केलर अनुमान चाहिए था, इसलिए मैंने प्रत्येक शीर्ष पर सभी किनारे वक्रता के पूर्ण मूल्यों के ज्यामितीय माध्य को लेना समाप्त कर दिया। आपके मामले के लिए, आपको न्यूनतम और अधिकतम वक्रताएं मिल सकती हैं, और उन किनारों को प्रमुख वक्रता दिशाओं के रूप में ले सकते हैं (हो सकता है कि वे वर्टीकल सामान्य के साथ orthonormalizing)। यह थोड़ा कठिन है, लेकिन यह आपको एक अच्छा पर्याप्त परिणाम दे सकता है कि आप क्या करना चाहते हैं।


इस सूत्र के लिए प्रेरणा यह देख रही है कि एक सर्कल में लागू होने पर 2D में क्या होता है:

वक्रता सूत्र एक वृत्त पर दो बिंदुओं पर लागू होता है

r1/rn1,n2p1=rn1p2=rn2 होने वाली है, इस संपत्ति के कारण कि एक वृत्त या क्षेत्र के मानदंड हमेशा अपने केंद्र से सीधे इंगित करते हैं।

r=|p1|/|n1||p2|/|n2|

p2p1=rn2rn1=r(n2n1)r=|p2p1||n2n1|curvature=1r=|n2n1||p2p1|

n2n1p2p1

curvature=(n2n1)normalize(p2p1)|p2p1|=(n2n1)(p2p1)/|p2p1||p2p1|=(n2n1)(p2p1)|p2p1|2

Et voilà, इस उत्तर के शीर्ष पर दिखाई देने वाला सूत्र है। वैसे, हस्ताक्षरित प्रक्षेपण (डॉट उत्पाद) का उपयोग करने का एक अच्छा पक्ष लाभ यह है कि सूत्र तब एक हस्ताक्षरित वक्रता देता है: उत्तल सतहों के लिए सकारात्मक, और अवतल सतहों के लिए नकारात्मक।


एक और दृष्टिकोण जिसका मैं उपयोग करने की कल्पना कर सकता हूं, लेकिन कोशिश नहीं की है, दूसरे मूलभूत रूप का अनुमान लगाना होगा प्रत्येक शीर्ष पर सतह का । यह शीर्ष पर एक स्पर्शरेखा के आधार को स्थापित करके किया जा सकता है, फिर सभी पड़ोसी कोने को उस स्पर्शरेखा स्थान में परिवर्तित किया जा सकता है, और सबसे उपयुक्त 2FF मैट्रिक्स को खोजने के लिए कम से कम वर्गों का उपयोग किया जा सकता है। तब मूल वक्रता दिशाएं उस मैट्रिक्स के आइजनवेक्टर होंगी। यह दिलचस्प लगता है क्योंकि यह आपको उन दिशाओं में स्पष्ट रूप से इंगित किए बिना पड़ोसी कोने द्वारा वक्रता दिशाओं "गर्भित" मिल सकता है, लेकिन दूसरी तरफ बहुत अधिक कोड, अधिक संगणना, और शायद कम संख्यात्मक रूप से मजबूत है।

एक पेपर जो इस दृष्टिकोण को ले जाता है , वह है रस्किन्कविक्ज़, "ट्राइएंगल मेश पर कर्वर्स और उनके डेरिवेटिव्स का अनुमान लगाना" । यह त्रिभुज प्रति सबसे अच्छा-फिट 2FF मैट्रिक्स का अनुमान लगाकर काम करता है, फिर मैट्रिसेस प्रति-वर्टेक्स के समान औसत (कैसे चिकनी मानदंडों की गणना की जाती है)।


1
FYI करें अगर यह मायने रखता है, तो मैंने यहाँ आपके उत्तर का उपयोग किया है blender.stackexchange.com/questions/146819/… लेकिन p1 के चारों ओर कोण का उपयोग करके एक वेटिंग जोड़ना। नहीं पता है अगर आप पाते हैं कि मूल्यवान? वैसे भी टिप्पणी करने के लिए स्वतंत्र महसूस करें। धन्यवाद।
नींबू

20

सिर्फ उत्कृष्ट @NathanReed उत्तर के लिए एक और तरीका जोड़ने के लिए, आप माध्य और गॉसियन वक्रता का उपयोग कर सकते हैं जो असतत लाप्लास-बेल्ट्रामी के साथ प्राप्त किया जा सकता है।

vi

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

A(vi)13vj पड़ोसी छोरों में से एक है।

f(vi)

ΔSf(vi)=12A(vi)vjN1(vi)(cotαij+cotβij)(f(vj)f(vi))

vjN1(vi)vi

v

H=12||ΔSv||

अब ' एंगल के पेश करते हैंθj

                                        enter image description here

गॉसियन वक्रता है:

K=(2πjθj)/A

After all of this pain, the principal discrete curvatures are given by:

k1=H+H2K  and  k2=HH2K

If you are interested in the subject (and to add some reference to this post) an excellent read is: Discrete Differential-Geometry Operators for Triangulated 2-Manifolds [Meyer et al. 2003].

For the images I thank my ex-professor Niloy Mitra as I found them in some notes I took for his lectures.


Both answers are really good, it was hard for me to pick. Since I had asked about the simplest way, I think Nathan takes the cake.
ap_

2
What Meyer et al. 2003 did not (perhaps explicitly) mention was how to compute the curvature for border vertices. Since they have taken an angle deficit approach, the Gaussian curvature for border vertices should read K=(πjθj)/Amixed.
teodron

@teodron Might you have any insights on mean curvature for border vertices? Can such a thing be defined?
Museful

@Museful I am a bit worried about the mean curvature not being negative, no matter the surface type. If the Laplacian-like operator is defined on a border vertex, then it's a matter of evaluating the same expression including only the triangles that make up the faces of the surface incident at vi. There are more recent papers on discrete curvatures, however..
teodron

-1

@ नाथन-रीड: नाथन-रीड के जवाब के लिए बस एक सवाल: आपने ज्यामितीय माध्य का उपयोग क्यों किया? क्या ऐसा इसलिए था क्योंकि यह गॉसियन वक्रता के बाद "मॉडलिंग" है?


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