समभुज प्रोजेक्शन पर कोई विकृति की गणना कैसे करता है?


28

मैं विकृति की गणना करने की कोशिश कर रहा हूं ताकि मैं ओवरलेइंग टेक्स्ट और रूपों को विकृत कर सकूं और एक अप्रत्यक्ष प्रक्षेपण की छवि से मिलान कर सकूं।

तो, एक समभुज प्रक्षेपण 1: 45,000,000 (कहते हैं, 2000 पिक्सेल चौड़े x 1000 पिक्सेल ऊंचे) पर दिए गए अक्षांश पर विकृति की गणना कैसे करता है?

मैं इस पोस्ट और इसके लिंक का कोई फायदा नहीं उठाने की कोशिश कर रहा हूं: एक सटीक टिसॉट इंडिकट्रिक्स कैसे बनाएं?

मैं एक पेशेवर नहीं हूं, बस एक बहुत ही इच्छुक शौकिया हूं, इसलिए कृपया इसे मेरे लिए गूंगा करें!

बहुत धन्यवाद!


शीघ्र उत्तर के लिए धन्यवाद! यहाँ लंबी कहानी है; मुझे उम्मीद है कि यह स्पष्ट है।

मैं प्रोसेसिंग प्रोग्रामिंग लैंग्वेज का उपयोग करके डेटा की कल्पना / मैपिंग कर रहा हूं और यह चाहूंगा कि 3 डी ग्लोब से लपेटे जाने पर 2D मैप किए गए डेटा (अलग-अलग आकार के फोंट और सर्कल) अविभाजित दिखाई दें। डेटा को अप्रत्यक्ष रूप से x, y के उपयोग से मैप किया जाता है और मैं जिन मानचित्रों को पृष्ठभूमि के रूप में उपयोग करना चाहता हूं, वे सभी इस प्रक्षेपण हैं, इसलिए मैं मान रहा हूं कि मैं इस विकृति को "मैच" करना चाहता हूं (उदाहरण के लिए ऊतक समीकरणों का उपयोग करके अक्षांश के माध्यम से विरूपण की गणना?)। प्रोग्रामिंग भाषा का उपयोग करके मैं टेक्स्ट और सर्कल दोनों को सटीक रूप से विकृत कर सकता हूं। मुझे लगता है कि मुझे जो कुछ भी चाहिए वह सही तरीके से करने के लिए समीकरण हैं।

यहां मूल 2D डेटा मैप दिया गया है:

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

जब लिपटे यह विकृत दिखता है, जैसे:

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

$ १०,००० प्रश्न: ३ डी क्षेत्र में लपेटे जाने पर मैं अपनी २ डी छवि को कैसे देख सकता हूँ?

संदर्भ के लिए, यहां एक ही प्रश्न को प्रोसेसिंग फोरम पर अलग-अलग तरीके से पूछा गया है

एक बार फिर धन्यवाद!


अगर मैं आपको सही ढंग से समझता हूं तो मुझे यकीन नहीं है कि मैं एक ऑर्थोग्राफिक प्रोजेक्शन को फिर से लागू करना चाहता हूं। मैं चाहता हूं कि मेरे 2D डेटा मैप को 3D क्षेत्र मॉडल से लपेटा जाए जिसे (यानी स्पून) के साथ इंटरैक्ट किया जा सके।

मैं नासा से एक 2MB "ब्लू मार्बल" छवि (अप्रत्यक्ष रूप से प्रक्षेपण) के साथ एक क्षेत्र को लपेटने के लिए एक 3D मॉडलिंग कार्यक्रम (Cinema 4D) का उपयोग कर रहा हूं ।

जब लिपटे यह सभी गोलार्द्धों (न केवल एक गोलार्ध से, जैसा कि एक ऑर्थोग्राफिक प्रोजेक्शन होगा?) से अबाधित दिखाई देता है, तो देखें: अभी भी ऊपर 3 डी मॉडल से। (मॉडलिंग कार्यक्रम मेरे लिए ऑर्थोग्राफ़िक प्रोजेक्शन कर रहा है क्योंकि मैं ऑब्जेक्ट को घुमाता हूं, मुझे लगता है।) इसलिए, मुझे लगता है कि अगर मैं अपने 2 डी डेटा मैप को इसी तरह से विकृत करता हूं तो यह 3 डी क्षेत्र पर भी मौजूद नहीं होगा। यहाँ एक शॉट है जो मैंने एक समीकरण के साथ लिया है जो समरूप अप्रत्यक्ष विकृति का अनुमान लगाता है। आप 3D आकृति से अंडे के आकार के दीर्घवृत्त को 3 डी क्षेत्र में लपेटे जाने पर एक चक्र की तरह देखेंगे। इसी तरह, टिसोट दीर्घवृत्त भी 3 डी क्षेत्र पर हलकों के रूप में दिखाई देते हैं।

विकृत सर्किलों के साथ टिसोट इंडिकेट्रिक्स 3 डी क्षेत्र से लिपटे विकृत सर्कल

यही कारण है कि मैं टिसोट समीकरणों को देख रहा था ... अलग-अलग अक्षांशों पर समान अप्रत्यक्ष प्रक्षेपण की विकृति का अधिक सटीक रूप से पता लगाने के लिए ताकि मैं अपने ओवरले को तदनुसार विकृत कर सकूं।

आशा है कि यह सब समझ में आता है।

शायद आप सही हैं कि मुझे एक जीआईएस प्रोग्राम का उपयोग करना चाहिए। मैंने अभी कार्टोग्राफिका डाउनलोड किया है और देखूंगा कि क्या मैं इसका पता लगा सकता हूं। किसी भी मैक सॉफ्टवेयर एक नौसिखिया उपक्रम के लिए सुझाव इस कार्य?

एक बार फिर धन्यवाद।


1
क्या आप वास्तव में विकृति की गणना करते हैं या आप वास्तव में जानना चाहते हैं कि प्रक्षेपण की गणना कैसे करें? शायद आप वेब पर एक छवि उपलब्ध करा सकते हैं कि आप क्या हासिल करने की कोशिश कर रहे हैं। "मैच" के आपके उपयोग से यह पता चलता है कि आप यह निर्धारित करना चाहते हैं कि एक छवि को दूसरे में कैसे बदलना है, आपको यह निर्दिष्ट करने की आवश्यकता है कि आप क्या शुरू कर रहे हैं और साथ ही साथ क्या चाहते हैं।
whuber

1
हम समझते हैं कि शब्दजाल को जाने बिना आप क्या करना चाहते हैं, यह वर्णन करना कठिन है, लेकिन ऐसा लगता है कि आप परिणाम के बजाय प्रक्रिया का वर्णन करने का प्रयास कर रहे हैं। उस समस्या से शुरू करने का प्रयास करें जिसे आप हल करना चाहते हैं, फिर आप जो परिणाम चाहेंगे, और हम अंतराल में भरने की कोशिश करेंगे :)
MerseyViking

तकनीकी शब्दों में: आप एक ऑर्थोग्राफ़िक ("अंतरिक्ष से दुनिया") प्रक्षेपण के लिए अप्रत्यक्ष रूप से प्रक्षेपण से अस्वीकृति करना चाहते हैं । आप किस सॉफ्टवेयर का उपयोग कर सकते हैं? यदि आपके पास जीआईएस सॉफ्टवेयर है या आप एक प्रोजेक्शन लाइब्रेरी के खिलाफ कोड करने के इच्छुक हैं, तो यह काम मूल रूप से आपके लिए किया जाता है। अन्यथा, आप के लिए समीकरण लागू करने की आवश्यकता unprojecting equirectangular प्रक्षेपण (आसान) और पेश वर्तनी विषयक प्रक्षेपण (बहुत कठिन नहीं है, लेकिन संख्यात्मक दिनचर्या कोडिंग में कुछ कौशल की आवश्यकता है)।
whuber

1
मैंने इस पोस्ट को देखा और मैं मूल रूप से ठीक यही काम करने की कोशिश कर रहा हूं। मैं एक 3D क्षेत्र पर अनुमानित 2 डी हलकों को सही ढंग से विकृत करना चाहता हूं। मैं सोच रहा था कि क्या आप 2D हलकों के विरूपण के लिए उपयोग किए गए एल्गोरिदम को साझा करने के लिए तैयार होंगे? वास्तव में एक टिप्पणी का जवाब होना चाहिए था, लेकिन मैंने इसे गलत जगह लिखा था। माफ़ कीजिये।
हैंकतुर्बो

आपको अपना डेटा 3 डी स्पेस में खींचना चाहिए और फिर उसे गोलाकार प्रोजेक्ट करना चाहिए।
एंजेललियल

जवाबों:


5

3D क्षेत्र में लपेटने पर मैं अपनी 2D छवि को कैसे देख सकता हूँ?

छवि निर्देशांक अक्षांश और देशांतर हैं, इसलिए आप या तो

(ए) इसे अनप्रोजेक्ट करें और ऑर्थोग्राफिक या वर्टिकल पास-साइड प्रोजेक्शन (जो कि अंतरिक्ष से दुनिया की तरह दिखने वाले अनुमानों का उपयोग करके या इसे हटा दें ) का उपयोग करें।

(b) बनावट-लेप का उपयोग करके एक गोला के 3D मॉडल पर बनावट- निर्देशांक के रूप में लेट-लोन का उपयोग करें और यह प्रदर्शित करें कि 3D ग्राफिक्स रेंडरिंग डिवाइस के साथ गोला।

अधिकांश जीआईएस नियमित रूप से (ए) करते हैं। वर्णन करने के लिए (बी), यहाँ "सपाट" नक्शे से प्राप्त चित्रों का एक सेट है जो बनावट-मैप वाले क्षेत्र की परिक्रमा करते हुए प्रश्न में लिया गया है:

अंतरिक्ष से दुनिया

(यदि आप सबसे दाईं ओर की छवि को करीब से देखते हैं तो आप प्रशांत महासागर के माध्यम से एक प्रमुख मध्याह्न रेखा देख सकते हैं: यह "सीम" है जो मानचित्र के बाएँ और दाएँ किनारों को एक साथ लपेटकर बनाया गया है।)

इनमें से एक का निर्माण करने के लिए मूल गणितज्ञ आदेश है

SphericalPlot3D[1, {a, 0, \[Pi]}, {b, 0, 2 \[Pi]}, Mesh -> None, 
 PlotStyle -> {Texture[i]}, TextureCoordinateFunction -> ({#5, -#4} &), 
 Lighting -> {{"Ambient", White}}, 
 Boxed -> False, Axes -> False, Background -> Black]

यह एक ऐसी समस्या को हल करने के लिए मूल समस्या को कम करता है ("डेटा मैप्स को एक गोले पर)" जो नक्शे को सही ढंग से दिखाता है। इसके लिए सबसे अच्छा प्रक्षेपण Stereographic है, क्योंकि यह गोले पर सभी हलकों को प्रोजेक्ट करता है - कोई फर्क नहीं पड़ता कि उनका आकार क्या है - नक्शे पर मंडलियों के लिए। इस प्रकार, एक समीकरण को बड़े पैमाने पर सही ढंग से आकर्षित करने की एक प्रक्रिया , जैसा कि प्रश्न में दिखाया गया है, उन्हें एक Stereographic प्रक्षेपण में बनाना है और फिर उन्हें भौगोलिक निर्देशांक (lat, lon) से अप्रमाणित करना है। (एक्स, वाई) के रूप में (लोन, लेट) का उपयोग करते हुए मानचित्र बनाने के लिए कार्टेशियन निर्देशांक समतुल्य प्रक्षेपण के समान है और इसलिए क्षेत्र पर बनावट-मानचित्रण के लिए या एक ऑर्थोग्राफिक प्रक्षेपण को लागू करने के लिए उपयुक्त है।


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


बहुत जानकारीपूर्ण पोस्ट के लिए धन्यवाद! मैं अपने दृष्टिकोण के रूप में (बी) ले रहा हूं और हाथ में एक सही ढंग से उत्पन्न समभुज मानचित्र है, लेकिन 3 डी क्षेत्र में मानचित्र की मैपिंग करते समय बदसूरत पोल विकृतियां मिलती हैं। क्या आप बहुत मदद करेंगे? gis.stackexchange.com/questions/245315/…
Sibbs जुआ

2

आच्छादित आकृतियों को गोले के एक छोटे से हिस्से को मानते हुए, आपको चौड़ाई को 1 / cos (lat) से मापते हुए और अकेले ऊंचाई छोड़ते हुए प्राप्त करने में सक्षम होना चाहिए।

आकार जितना बड़ा और ध्रुवों के जितना करीब होगा, उतना ही कम काम करेगा।


क्या आप बता सकते हैं कि यह क्यों काम करेगा? ऐसा लगता है कि यह उदाहरण के चित्रों में इसके प्रतिपादन के किनारे के पास के छोटे भागों में भी नाटकीय रूप से विफल हो जाएगा।
whuber

संपादन के लिए धन्यवाद; मैंने तदनुसार डाउनवॉट हटा दिया है क्योंकि आपका उत्तर मुझे सही लगता है और भविष्य में किसी के लिए इसका उपयोग हो सकता है। प्रश्न की समीक्षा में, हालांकि, ऐसा लगता है कि किसी को भी इस तरह के छोटे आकार के क्षेत्र में लपेटने की संभावना नहीं है - और जब वे ऐसा करते हैं, तो उन्हें डंडे से निपटने की आवश्यकता होगी और हर जगह और भी, मैं कल्पना करता हूं।
whuber

0

मैं समझ नहीं पा रहा हूं कि टिप्पणी कैसे जोड़ूं, इसलिए मैं इसे समाधान में डाल दूंगा और मध्यस्थों को यह पता लगाने के लिए हाथापाई करने दूंगा कि आप टिप्पणी क्यों नहीं कर सकते।

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


2
यह मेरे लिए एक जवाब की तरह पढ़ता है, इसलिए मैं इसे छोड़ दूँगा। लेकिन यह गलत है, एक गलतफहमी पर आधारित होने के कारण: अनुरूप अनुमान सभी हलकों को हलकों में प्रोजेक्ट नहीं करते हैं। वे केवल असीम रूप से ऐसा करते हैं भेद बहुत बड़ा है: उदाहरण के लिए, पृथ्वी के अक्ष के चारों ओर जाने वाले किसी भी वृत्त पर बुध क्या करता है, इस पर विचार करें। यह संभवतः इसे एक सर्कल के रूप में मैप नहीं कर सकता है - इसे इसे कहीं न कहीं तोड़ना होगा। इसकी अधिक चर्चा के लिए, कृपया Tissot के लिए हमारी साइट खोजें ।
whuber

1
"वे केवल असीम रूप से ऐसा करते हैं।" -> "वे केवल छोटे शिशुओं के लिए ऐसा करते हैं।"
मार्टिन एफ

0

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

आप 2 डी में प्राप्त कर सकते हैं, छोटे 2 डी मानचित्रों में ग्राफिक्स खींचकर, जिनके पास सीमित क्षेत्र और स्वीकार्य विरूपण है। आप टाइलों में 2 डी मानचित्र काट सकते हैं और प्रत्येक टाइल के उपयोग के लिए यह "सर्वश्रेष्ठ" प्रक्षेपण है।

दूसरी ओर से 2 डी मानचित्र पर दिए गए त्रिज्या के भू-वृत्त पर अंक बनाना आसान है। इसके लिए आपको एक ऐसा फ़ंक्शन ढूंढना होगा जो किसी दिए गए दूरी पर एक बिंदु के अक्षांश / लंबे समय की गणना करता है और दूसरे बिंदु से azimuth ("प्रत्यक्ष समस्या विन्सेंटी" के लिए खोज)। एक बार जब आप ऐसा कर लेते हैं, तो आप 0 से 360 तक अज़ीमथ को बदलकर बिंदु से कुछ दूरी पर समवर्ती बिंदुओं का गुच्छा उत्पन्न कर सकते हैं। 2 डी में उन बिंदुओं में से एक बहुभुज बनाना जब जियोडेसिक सर्कल में एक ध्रुव, या चौराहों की आवश्यकता होती है, तो अधिक काम करना पड़ता है। नक्शे की बाईं या दाईं सीमा। यहां देखें कि कैसे एक फ्लैट मैप पर जियोडेसिक सर्कल दिख सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.