... और मेक्सिको इसके लिए भुगतान करेगा!


26

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

और सीमा पर प्रत्येक n (50 <= n <= 500) मील के लिए उस बिंदु पर सीमा की ढलान पर लंबवत एक 25 पिक्सेल-लंबाई रेखा खींचते हैं। मानचित्र के दाईं ओर के पैमाने का उपयोग करते हुए, मैंने निर्धारित किया है कि 100 मील ~ 50 पिक्सेल । मैंने n = 60 के लिए पहली 3 लाइनों का एक नमूना तैयार किया है, लेकिन ये केवल अनुमानित हैं:

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

टिप्पणियाँ:

  • केवल इनपुट n है । आउटपुट मैप इमेज होनी चाहिए, जो लाइनों को जोड़ा गया है, स्क्रीन पर खींची गई है या रास्टर इमेज फाइल में सेव की गई है (आप मूल मैप फाइल को ओवरराइट कर सकते हैं)।
  • आप जो भी फ़ाइल नाम चाहते हैं, उसके साथ रिक्त मानचित्र फ़ाइल को सहेज सकते हैं। यह एक JPEG है, लेकिन यदि आप चाहें तो आप इसे अन्य सामान्य रेखापुंज प्रारूप में बदल सकते हैं। इसके अलावा, आप छवि के आकार को 50% तक कम कर सकते हैं, जब तक आप आयामों को आनुपातिक रखते हैं, और आपकी लाइनें अभी भी पैमाने पर हैं।
  • प्रत्येक रेखा उस बिंदु पर सीमा के ढलान के लंबवत होनी चाहिए। ढलान की गणना बिंदु से 50 मील पहले शुरू होनी चाहिए और बिंदु के बाद 50 मील की दूरी समाप्त होनी चाहिए।

शुद्धता:

  • प्रत्येक पंक्ति के ढलान में। 5 ° की त्रुटि हो सकती है
  • प्रत्येक पंक्ति के बीच की दूरी में (20 मील (नियमित मानचित्र पर 10 पिक्सेल) की त्रुटि हो सकती है।

3
कीमत $ 10000 / मील शायद 100 के कारक से बंद है, जब तक कि "दीवार" से आपका मतलब $ 2.50 / घंटा बनाने वाले मजदूरों द्वारा स्थापित कांटेदार तार के 3 किस्में नहीं है।
ग्लेन रैंडर्स-पीरसन

1
इसके अलावा, ममा का कहना है कि यूएस-मेक्सिको सीमा लगभग 1952 मील लंबी है।
लीजनमोनमाल 978

18
यह जानना अच्छा है, लेकिन महत्वपूर्ण बात यह है कि इस चुनौती के लिए नंबरों का कोई मतलब नहीं है।
जियोकॉवेल

@geokavel आगे बढ़ो और इसका जवाब दो।
प्रोग्रामर

1
इसके अतिरिक्त, इस चुनौती का उद्देश्य छवि को संसाधित करने और रेखाओं को चित्रित करने से पहले सीमा की पहचान करने में सक्षम होना है, या क्या यह वास्तव में छवि को संसाधित किए बिना लाइनों को खींचने में सक्षम है (अनिवार्य रूप से यह मानते हुए कि छवि कैसी होगी )?
नॉटजैगन

जवाबों:


7

अजगर 2 + सुन्न + OpenCV , 576 बाइट्स

डेमो GIF

from cv2 import*
from numpy import*
n=input()/4
f="m.png"
i=imread(f)
b=array([0]*3)
y=array([165,195,225])
j=inRange(i,b,b+120)
k=inRange(i,y,y+25)
for x,y in zip(*where(j)):j[x,y]=k[x+3,y]-j[x+1,y]>1
j=j[506:732,152:557]
p=[array([11,9])]
for c in sorted(zip(*where(j)),key=lambda c:c[1]):r=range(p[-1][1]+1,c[1]+1);p+=map(array,zip(map(int,interp(r,*zip(p[-1],c)[::-1])),r))
for x,c in enumerate(p[25:-25:n]):s=-1/true_divide(*p[x*n+50]-p[x*n+25]);k=6/(1+s**2)**.5;line(i,*map(tuple,[(c+[int(k*s)+506,int(k)+152])[::-1],(c-[int(k*s)-506,int(k)-152])[::-1],b]))
imwrite(f,i)

यह कार्यक्रम लगभग पूरी तरह से ungolfed है, और इसके कुछ पहलू हैं जो इस समय कुछ हद तक गलत हैं, लेकिन कम से कम यह सबसे अधिक भाग के लिए काम करता है। इसके अतिरिक्त, इसमें थोड़ी सी भी हार्डकॉपींग है, लेकिन यह केवल बॉर्डर को घेरने वाली एक अनुमानित विंडो के लिए है और बॉर्डर पर पहले पिक्सेल के समन्वय (बाद में जिसके बाद मैं वास्तव में बाद में सबसे अधिक संभावना है) को हटा दूंगा।

कार्यक्रम द्वारा उपयोग की जाने वाली छवि को क्षेत्र (यानी 1120 x 865) में आधा किया गया है, और इसलिए खींची गई लाइनों की लंबाई और लाइनों के बीच की दूरी छोटी है।


2
ठंडा!! एक उत्तर देखने के लिए महान!
जियोकॉवेल

सुझाव है कि काम कर रहे टायो लिंक को हटाएं
Новиков

1
gif डेमो i.stack.imgur.com/RWQu4.gif । मेरे संपादन को लागू करें
гвгений Новиков

@ ThanksвгенийНовиков gif के लिए धन्यवाद! यह मेरे द्वारा पहले की गई तस्वीरों की तुलना में बहुत अधिक (और आत्मघाती) है।
नॉटजैगन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.