ज्यामिति उत्तरों के साथ सरल 2D चित्रण कैसे उत्पन्न करें?


14

Affine Transformations के बारे में मेरे जवाब में मैंने स्पष्टीकरण की मदद के लिए कुछ छोटे चित्र बनाए।

आप एक अपलोड-सक्षम PNG जल्दी कैसे बनाते हैं जो एक ज्यामितीय या गणितीय विचार व्यक्त करता है?

यह प्रश्न मेरे पोस्टस्क्रिप्ट उत्तर का समर्थन करने से वंचित था, लेकिन अन्य समाधानों का समाधान करने का इरादा है जो एसई नेटवर्क को अधिक आम तौर पर लाभ पहुंचा सकते हैं। लेकिन विश्वसनीयता के लिए, एक उत्तर को उस पोस्ट से लिंक करना होगा जहां इस तकनीक का वास्तव में उपयोग किया गया है, साथ ही साथ एक पर्याप्त "हाउटो" भाग भी शामिल है यदि इसमें "मेनू से निर्यात का चयन करें" जैसे कुछ से अधिक स्पष्ट है।

यहाँ दो मेटा प्रश्न हैं और इस सवाल के बारे में यहाँ बताया गया है कि इस प्रश्न को हमारी साइट के लिए कैसे निर्धारित किया जा सकता है।


2
मैं व्यक्तिगत रूप से इस पोस्ट को कंप्यूटर ग्राफिक्स पर पोस्टस्क्रिप्ट पर अधिक देखता हूं।
cifz

1
@ cifz यह GD.SE बेहतर होगा। लेकिन एक कारण नहीं है कि यह यहाँ क्यों नहीं हो सकता है।
पूजा

@ मुझे लगता है कि मैं देख रहा हूं कि आपका क्या मतलब है। क्या होगा अगर मैं इसे प्रश्न से बाहर निकालता हूं, और इसे टिक्ज़ और एसिम्पोटोट और व्हाट्नॉट के लिए खोल देता हूं।
लूसर ने 21

मैं यहाँ उत्तर दे रहा हूँ यह दिखाने के लिए कि यह एक प्रश्न के रूप में एक सा है, और निश्चित रूप से उत्तर होगा। शायद यह पूरा सूत्र हमारे मेटा में रहना चाहिए, जैसे कि यह GD.SE पर है । किसी भी विचार, @cifz
joojaa

जवाबों:


13

मैं पल की विशेष जरूरतों के आधार पर विभिन्न प्रकार के उपकरणों का उपयोग करता हूं। मेरे पास मुफ्त टूल की ओर एक पूर्वाग्रह है, क्योंकि मेरे पास इलस्ट्रेटर या गणितज्ञ जैसी चीजों तक पहुंच नहीं है।

सामान्य वेक्टर कला उद्देश्यों के लिए मैं फ्री इंकस्केप का उपयोग करता हूं । यह .svg फ़ाइलों पर काम करता है और इन्हें उच्च-गुणवत्ता वाले .png या अन्य बिटमैप स्वरूपों के रूप में भी प्रस्तुत कर सकता है। उदाहरण के लिए, यहाँ यूवी मैपिंग की व्याख्या करने के लिए मैंने Inkscape में एक चित्र बनाया है :

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

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

यह डेसमोस के लिए थोड़ा जटिल था, क्योंकि इसमें प्रोग्रामेटिक रूप से एक गाऊसी के टुकड़े टुकड़े सन्निकटन को शामिल किया गया था।

वास्तव में विषम रेखांकन कार्यों के लिए जो किसी भी अन्य चीज़ से अच्छी तरह से नियंत्रित नहीं होते हैं, मैंने svgwrite पैकेज के साथ पायथन का उपयोग प्रोग्रामिक रूप से .svg फ़ाइलों में आरेख उत्पन्न करने के लिए किया है। यदि वांछित और Inkscape या ImageMagick का उपयोग कर बिटमैप्स करने के लिए गाया जाता है, तो इन्हें तब इंकस्केप में छुआ जा सकता है। मैंने उस ब्लॉग पोस्ट में गहराई से सटीकता पर चित्र बनाने के लिए उस वर्कफ़्लो का उपयोग किया , जैसे:

इस मामले में मैं न केवल एक फ़ंक्शन को ग्राफ़ करना चाहता था, लेकिन असतत गहराई बफर मूल्यों को स्पष्ट करने के लिए कुल्हाड़ियों और ग्राफ दोनों के साथ क्रमबद्ध और गैर-समान रूप से टिक मार्क लगाएं।

और अंत में, यदि कुछ और नहीं होता है, तो मैं छवियों को पिक्सेल-बाय-पिक्सेल रेंडर करने के लिए खस्ता और तकिया के साथ पायथन का उपयोग करूँगा । इस तरह मैंने इस जवाब में ( शोर पैकेज की मदद से , इस मामले में) पेरलिन शोर छवियों का निर्माण किया ।


नाथन आप वही हैं, जिसने गहराई से सटीक लिखा है? वाह अच्छा ... मैंने वह बात पढ़ी और इससे बहुत मदद मिली! छोटी सी दुनिया: पी
एलन वोल्फ

12

व्यक्तिगत रूप से मेरी पसंद का ज़हर एडोब इलस्ट्रेटर है। अन्य ऐप जैसे कि अक्सस्केप, कोरल ड्रॉ, ज़ारा डिज़ाइनर भी करेंगे। एक चुटकी में भी PowerPoint काम करेगा। हालांकि मैं व्यक्तिगत रूप से अपने डेटा मॉडल के साथ गंभीर मुद्दों के कारण PowerPoint की सिफारिश नहीं करता हूं, यहां तक ​​कि कठिन भी संभवत: दुनिया में सबसे अधिक तैनात ड्राइंग ऐप है।

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

डिस्क्लेमर: क्योंकि उदाहरण मेरे हैं और बेशर्म आत्म-समर्थन एक चुटकी नमक के साथ लेते हैं।

इलस्ट्रेटर

किसी भी वेक्टर ड्रॉइंग ऐप में आपको जो पहली चीज करनी चाहिए, वह है स्नैपिंग ग्रिड को सक्षम करना । यह सटीक रूप से रखने वाली लाइनों की थकावट को कम करता है। Inkscape का उपयोग न करने के बड़े कारणों में से एक यह तड़क-भड़क वाला तरीका है। PowerPoint वास्तव में डिफ़ॉल्ट रूप से ग्रिड स्नैपिंग के साथ आता है।

मैं इलस्ट्रेटर से वास्तव में संतुष्ट नहीं हूं क्योंकि यह मेरी सभी जरूरतों को पूरा नहीं करता है। लेकिन अब तक कोई भी सॉफ्टवेयर ऐसा नहीं करता है (माया इस आला को भरने के लिए इस्तेमाल किया गया था लेकिन फिर ऑटोडस्क हुआ)।

इलस्ट्रेटर को चुनने का दूसरा कारण यह है कि यह पोस्टस्क्रिप्ट को मूल रूप से समझता है। इसलिए अगर मुझे कुछ प्रोग्राम करने की आवश्यकता है तो मैं इतनी जल्दी और मौजूदा दस्तावेज़ अपडेट कर सकता हूं क्योंकि मेरा कोड चित्र 3 इस तरह से परिपक्व होता है।

  • संसाधन चित्रकार और आगे लिंक करने के लिए स्नैप, उपसंहार और जावा स्क्रिप्ट का उपयोग दिखा।

यहाँ चित्र के कुछ उदाहरण हैं जो मैंने इलस्ट्रेटर के साथ नेटवर्क में किए हैं, ज्यादातर ग्रिड स्नैप की शक्ति द्वारा:

सर्कल मार्च

चित्र 1 : इस साइट पर इलस्ट्रेटर में आकर्षित की गई कई छवियों में से एक। नोट: मैं काफी अनुभवी इलस्ट्रेटर (कभी-कभी कमर्शियल) हूं और यह मेरे मानकों के हिसाब से बेहद सरल है।

सर्कल मार्च की छवि करने के लिए काफी सरल है। बस चारों ओर क्लिक करके एक यादृच्छिक आकार बनाएं। इसके बाद स्नैप को अक्षम करें और स्मार्ट गाइड को आपके लिए अपना काम करने दें। रेखा पर निकटतम बिंदु पर रेखाएं बनाएं, रेखा के लिए मंडलियां बनाएं और (मैं काम करने के बाद गाइड लाइनों को हटा दिया गया)। धोये और दोहराएं। एक बार मुझे अपना कार्यक्षेत्र आरंभ करने में छवि को खींचने में लगभग 3-5 मिनट का समय लगा।

निरंतरता की लहर

चित्र 2 : जीडीएसई निरंतरता तरंग

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

टेट्रा इमेज

चित्र 3 : कभी-कभी पोस्टस्क्रिप्ट में खरोंच से शुरू करना आसान होता है। छवि को ENG.SE पर पोस्ट करने के लिए जोड़ा गया ।

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

मेथेमेटिका

यदि आप चीजों को थोड़ा और जानना चाहते हैं तो गणितज्ञ अद्भुत है। Mathematica के लिए एकमात्र दोष यह है कि यह सस्ता नहीं है। लेकिन यह लगभग कुछ भी जल्दी कर सकता है। Ive ने नर्सों के आधार पर मेरी कुछ तस्वीरों के लिए गणितज्ञ का उपयोग किया ।

गणितज्ञों की मुख्य दक्षताओं में से एक यह है कि बिना किसी परेशानी के काफी जटिल चित्रों को विकसित करना आसान है। यह आपके संपादक के भीतर आपकी सरल तस्वीर को भी आसानी से एनिमेट कर सकता है ।

Graphics[{
    orig = {
        Table[
            GeometricTransformation[
                Line[{{0, 0}, {50, 0}}],
            RotationTransform[ang]],
            {ang, 0, 3 Pi/2, Pi/2}
        ],
        Line[{{20, 0}, {30, 20}, {40, 0}}]
    },
    Red,
    GeometricTransformation[
        orig,
        RotationTransform[Pi/6]
    ]
}]

उसी चित्र में परिणाम जैसा कि अन्य के पास है। परिणाम के अनुसार तालिका के अंदर लपेटकर :

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

चित्र 4 : मैथेमेटिका का उपयोग करके कोड संपादक के अंदर एनिमेशन करना सरल है।


4

पोस्टस्क्रिप्ट + ps2eps + mogrify

के लिए Affine रूपांतरण जवाब , मैं एक बहुत छोटे से उपसंहार कार्यक्रम लिखा था और उसके बाद विभिन्न नामों के तहत कई प्रतियों को बचाया और हर एक संपादित प्रत्येक अलग काम करने के लिए: पैमाने, अनुवाद करने, घुमाने। उदाहरण के लिए, यहां मूल एक है, ident.psजो लाल ड्राइंग और काली ड्राइंग के बीच निर्देशांक को बदलने के लिए कुछ भी नहीं करता है। मैंने लाल रेखाओं को थोड़ा बड़ा किया और हमेशा इसे पहले खींचा, इसलिए दोनों अच्छे से दिखाई देने वाले और दृश्यमान (IMO) थे। मैंने vi (भूतपूर्व) कमांड के साथ घोस्टस्क्रिप्ट के साथ पूर्वावलोकन किया :!gs %। ( सभी स्रोत फ़ाइलें )

%!
/axis {
    currentpoint 4 { 
        2 copy moveto
            50 0 lineto
            90 rotate
    } repeat pop pop 
} def 
/shape {
    20 0 moveto
    30 20 lineto
    40 0 lineto
    closepath
} def 

100 100 translate

gsave
% do transform here
currentlinewidth 1.5 mul setlinewidth
1 0 0 setrgbcolor
0 0 moveto axis shape stroke
grestore

0 0 moveto axis shape stroke

showpage

मैंने तब स्वचालित रूप से बाउंडिंग-बॉक्स की गणना करने के लिए ps2epsकमांड का उपयोग कियाpsutils

$ ps2eps -f *.ps
Input files: ident.ps rotate.ps scale.ps skewx.ps skewy.ps translate.ps
Processing: ident.ps
Calculating Bounding Box...ready. %%BoundingBox: 50 50 150 150
Creating output file ident.eps ... ** Warning **: Weird heading line -- %! -- ready.
Processing: rotate.ps
Calculating Bounding Box...ready. %%BoundingBox: 50 50 150 150
Creating output file rotate.eps ... ** Warning **: Weird heading line -- %! -- ready.
Processing: scale.ps
Calculating Bounding Box...ready. %%BoundingBox: 25 25 175 175
Creating output file scale.eps ... ** Warning **: Weird heading line -- %! -- ready.
Processing: skewx.ps
Calculating Bounding Box...ready. %%BoundingBox: 50 49 150 151
Creating output file skewx.eps ... ** Warning **: Weird heading line -- %! -- ready.
Processing: skewy.ps
Calculating Bounding Box...ready. %%BoundingBox: 49 50 151 150
Creating output file skewy.eps ... ** Warning **: Weird heading line -- %! -- ready.
Processing: translate.ps
Calculating Bounding Box...ready. %%BoundingBox: 50 50 165 165
Creating output file translate.eps ... ** Warning **: Weird heading line -- %! -- ready.

और अंत में convertफसली पिंग छवियों का उत्पादन करने के लिए इमेजमैजिक की कमांड का उपयोग किया । (मैंने इस हिस्से को स्वचालित करने के लिए एक त्वरित तरीका नहीं सोचा। संपादित करें: टिप्पणी के रूप में, यह साथ किया जा सकता है mogrify -format png *.eps। धन्यवाद, पूजा!)

$ convert ident.eps ident.png

josh@cadabra ~/affine
$ convert scale.eps scale.png

josh@cadabra ~/affine
$ convert rotate.eps rotate.png

josh@cadabra ~/affine
$ convert skewx.eps skewx.png

josh@cadabra ~/affine
$ convert translate.eps translate.png

josh@cadabra ~/affine
$ convert skewy.eps skewy.png

जो पीएनजी का उत्पादन करता है, अपलोड करने के लिए तैयार है।

$ ls -l *.png
-rw-r--r-- 1 josh None  587 Sep  1 21:16 ident.png
-rw-r--r-- 1 josh None 1431 Sep  1 21:21 rotate.png
-rw-r--r-- 1 josh None  798 Sep  1 21:19 scale.png
-rw-r--r-- 1 josh None 1133 Sep  1 21:22 skewx.png
-rw-r--r-- 1 josh None 1197 Sep  1 21:23 skewy.png
-rw-r--r-- 1 josh None  756 Sep  1 21:23 translate.png


मैं वास्तव में ps2eps खिचड़ी भाषा के साथ एनकैप्सुलेशन उत्पन्न करने का बिंदु नहीं देखता हूँ जो आप अपने टेम्पलेट में ईपीएस हेडर टाइप करते हैं। यह निर्देश क्लीनर बनाता है (और उपयोगकर्ता को कम निर्भरता की आवश्यकता होती है)। प्रत्येक फ़ाइल को अलग से परिवर्तित करने के बजायmogrify -format png *.eps
joojaa

ठंडा। मैं नहीं जानता था mogrify। के लिए ps2epsहिस्सा है, यह स्वचालित रूप से गणना करता है (और कहते हैं) बाउंडिंग बॉक्स की जानकारी। उस हिस्से convertको
स्वीकार

4

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

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

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

यहाँ एक पावरपॉइंट आरेख का एक उदाहरण है जिसे मैंने एक उत्तर के लिए बनाया था।

अधिक जटिल आरेखों के लिए, विशेष रूप से 3 डी में, मैं कभी-कभी ब्लेंडर का उपयोग बेशर्म सामग्री के साथ करता हूं। मैं विस्तृत और उदाहरण दिखा सकता हूं यदि यह आपके प्रश्न के लिए प्रासंगिक है।

ऐसा लगता है कि jsfiddle यहां भी लोकप्रिय है।


मैं सहमत हूँ --- मेरा उत्तर संभवतः किसी भी अधिक मान्य नहीं है क्योंकि मैंने अब तक किसी भी उत्तर में आरेख का उपयोग नहीं किया है। लेकिन मुझे उम्मीद है कि जल्द ही ऐसा होगा। इसलिए यदि इस उत्तर के लिए कुछ दिनों के लिए घूमना ठीक है, तो मुझे यकीन है कि मैं एक उत्तर खोजने में सक्षम हो जाऊंगा।
एपी_ 19

किया हुआ! मेरा जवाब अब मान्य होना चाहिए।
एपी_

अति उत्कृष्ट। मेरी पिछली टिप्पणियों को हटाना।
लूजर ने

4

निश्चित टूलबॉक्स नहीं जिसे आप ढूंढ रहे हैं, लेकिन सिर्फ एक अतिरिक्त उपकरण जो मैं खुद का उपयोग करता हूं: 3 डी ग्राफिक्स के लिए, ब्लेंडर काम में आ सकता है। विशेष रूप से यदि आप Export_SVG प्लगइन ( http://dl.dropbox.com/u/16486113/Blender/archivos/temp/SVG/export_svg.py और http://blenderart.org.org/forum/showthread.php से उपलब्ध हैं) का उपयोग करते हैं 282824-एसवीजी-आउटपुट-स्क्रिप्ट )

यह आपको Blenders 3D ऑब्जेक्ट्स को Illustrator या Inkscape में वेक्टर ग्राफिक्स के रूप में प्राप्त करने की अनुमति देता है। मुझे लगता है कि यह मुझे सरल 3 डी चित्र बनाने के लिए एक अच्छी त्वरित शुरुआत देता है ।

मुझे एक उदाहरण पेस्ट करने की अनुमति दें। (इस उदाहरण में मैं बहुत सारे रंगों का उपयोग करता हूं, लेकिन संभोग के बजाय, इसे सभी काले और लाल-सफेद रंग के बजाय बनाया जा सकता है)

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


निश्चित रूप से आपका मतलब है इलस्ट्रेटर और इंक्सस्केप (इलस्ट्रेटर और इलस्ट्रेटर के बजाय)
joojaa

हाँ बिलकुल! Tnx!
आइडोग्राम

1

मैं पावरपॉइंट और विभिन्न (महंगे) सीएडी पैकेज का उपयोग करता हूं। मैंने पॉवरपॉइंट मैक्रोज़ (VBA कोड) को कुछ विशेष काम करने के लिए लिखा था जैसे कि बेज़ियर कर्व्स का नियंत्रण बहुभुज खींचता है। फिर मैं स्क्रीन शॉट्स को हथियाने के लिए मानक विंडोज स्निपिंग टूल का उपयोग करता हूं। यहाँ कुछ उदाहरण हैं:

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

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

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

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

और Math.SE से कुछ और उदाहरण

एक
दो
तीन
चार
पाँच


पावरपॉइंट वास्तव में चीजों को देखते हुए काफी महंगा है। यह ठीक है, आखिर ड्राइंग कौशल आप से आता है। लेकिन कम से कम टिक्ज़, इंकस्केप, ब्लंडर और पोस्टस्क्रिप्ट पावरपॉइंट की तुलना में सस्ते हैं।
पूजा

मैं बूढ़ा हो गया हूं, इसलिए समय मेरे लिए पैसे से ज्यादा महत्वपूर्ण है। Inkscape अच्छा है, लेकिन ऐसा कोई तरीका नहीं है जिससे मैं तस्वीरें बनाने के लिए tikz या पोस्टस्क्रिप्ट कोड लिखने में समय बिताऊँ।
बुब्बा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.