आसान संचार का अर्थ है ... ○ गोलाकार संस्करण!


12

के आधार पर यह है, लेकिन मैं कहा गया था [1] , [2] एक ग्राफिकल संस्करण क्या करना है।

इस्टर्न कम्युनिकेशन में तेजी से बढ़ रहा है मेरे साथी के साथ संबंध ...

कार्य

पाठ का एक परिपत्र प्रदर्शन उत्पन्न करें EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS कोई भी अपरकेस फ़ॉन्ट जाता है। पत्र शीर्ष को सर्कल से बाहर होना चाहिए। या तो पहले वाला स्थान FEWERसबसे नीचे (6 बजे) होना चाहिए या (ब्राउनी बिंदुओं के लिए) आपके पाठ को घूमना चाहिए।


@ यूरील वेल, नाममात्र, प्रत्येक अक्षर में 5.45 ° लगते हैं, इसलिए हम 5.4 ° से 5.5 ° कहेंगे?
'15:05

मेरा मानना ​​है कि एक अच्छी परिशुद्धता होगी, 2/21सन्निकटन त्रुटि पर विचार 0.002 से छोटा है।
ऊरीएल

जवाबों:


7

गणितज्ञ, 153 बाइट्स

x=Pi/33;Graphics@Map[StringSplit["CATION MEANS FASTER CODING MEANS FEWER CODERS MEANS EASIER COMMUNI",""][[#/x]]~Text~{Sin@#,Cos@#}~Rotate~-#&,Range@66x]

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

इसे 178 बाइट्स तक बढ़ाने से यह घूमता है:

x=Pi/33;Graphics@Map[StringSplit["CATION MEANS FASTER CODING MEANS FEWER CODERS MEANS EASIER COMMUNI",""][[#/x-a]]~Text~{Sin@#,Cos@#}~Rotate~-#&,(a+Range@66)x]~Animate~{a,1,66,1}

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


7

HTML और JS, 13 + 170 = 284 227 192 186 183 बाइट्स

41 बाइट्स @ थैगी की बदौलत बच गईं

(x=c.getContext("2d")).translate(r=c.height/2,r)
for(i in t="CATION MEANS FASTER CODING MEANS FEWER CODERS MEANS EASIER COMMUNI"){x.rotate(2/21);x.fillText(t[i],0,-r*.8)}
<canvas id=c height=250 width=250>

बेहतर दृश्यता की अनुमति देने के लिए 250 की चौड़ाई और ऊंचाई को बाइट्स की गिनती में शामिल नहीं किया गया था।


अपने JS को 223 बाइट्स के साथ कम करें (x=c.getContext("2d"))[t="translate"](r=c.height/2,r,i=66);r*=.8;while(i--){x.rotate(a=i*Math.PI/33);x[t](0,-r);x.fillText("EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS "[i],0,0);x[t](0,r);x.rotate(-a)}
झबरा 14

या, अपने JS के नवीनतम संस्करण को 179 बाइट्स के साथ घटाएं(x=c.getContext("2d")).translate(r=c.height/2,r);r*=.8;for(i in t="EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS "){x.rotate(Math.PI/33);x.fillText(t[i],0,-r)}
Shaggy

आप परिशुद्धता का एक छोटा सा बलिदान करने के लिए खुश हैं, तो आप बदल सकते Math.PIके साथ 22/7एक और 6 बाइट्स को बचाने के लिए।
शैगी

और Math.PI/332/21, लेकिन वह ठीक माना जाता है?
यूरिल

1
आप es6 का उपयोग करके कुछ बाइट्स बचा सकते हैं for...of: for(c of"CATION...औरx.fillText(c,
ब्रायन मैककचॉन

6

ऑक्टेव, 168 बाइट्स

for i=1:(n=nnz(s='CATION MEANS FASTER CODING MEANS FEWER CODERS MEANS EASIER COMMUNI')),text(sin(i/n*2*pi),cos(i/n*2*pi),s(i),'rotation',-i/n*360);axis([-2,2,-2,2]);end

इसे यहाँ आज़माएँ


अच्छा! लगता axis([-2,2,-2,2]);है इसकी जरूरत नहीं है। लेकिन आप axis equalएक सही सर्कल पाने के लिए अंत में जोड़ना चाह सकते हैं
लुइस मेंडो

आप लूप के लिए क्या करते हैं? क्या आप मेरे जैसे ऑक्टेव नौसिखिए के लिए स्पष्टीकरण जोड़ सकते हैं?
मिकथान

निश्चित रूप से, मेरे पास समय होने पर स्पष्टीकरण जोड़ दूंगा। उम्मीद है कि बाद में आज :-)
स्टीवी ग्रिफिन

4

बैश + इमेजमैजिक, 168 बाइट्स

convert -font $(convert -list font|grep Font:|head -n1|cut -d" " -f4) label:"FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS " -distort Arc 360 i.png

उदाहरण आउटपुट:

उदाहरण आउटपुट


1
मुझे लगता है कि आप इसे छोटा करने के लिए एक निश्चित फ़ॉन्ट नाम का उपयोग कर सकते हैं।
dkudriavtsev

4

बीबीसी बेसिक, 248

Http://www.bbcbasic.co.uk/bbcwin/download.html पर दुभाषिए को डाउनलोड करें

F.i=6TO767a=i DIV6*.024-.3r=(80+i MOD6)MOD83*9-369IFASC(M."?[O@Wo}@b}O@O|O@y?l@xHH@GGE@zmo@yo|@}oU@o?m@?L|@phh@GEE@?u?@?{o@Wk?@?I?@g|O@EGE@?]M@z}o@|_|@}?m@?MO@GDG@xhh@?k?@?oU@z}o@?LO@a?L",i DIV6))>>i MOD6A.1CIRCLEFILL500-r*COS(a),500+r*SIN(a),9
N.

Ungolfed

  FORi=6TO767
    a=i DIV 6 * .024 - .3
    r=(80 + i MOD 6) MOD 83 * 9 - 369            :REM iterate through ({80,81,82,0,1,2} - 41 = {39,40,41,-41,-40,-39}) * 9
    IF ASC(MID$("?[O@Wo}@b}O@O|O@y?l@xHH@GGE@zmo@yo|@}oU@o?m@?L|@phh@GEE@?u?@?{o@Wk?@?I?@g|O@EGE@?]M@z}o@|_|@}?m@?MO@GDG@xhh@?k?@?oU@z}o@?LO@a?L",i DIV6))>>i MOD6AND1    THEN
      CIRCLEFILL 500-r*COS(a), 500+r*SIN(a), 9   :REM dots are circle radius 9 according to documentation (but BBC BASIC actually draws them smaller.)
    ENDIF
  NEXT

मज़े के लिए - घुमाए गए पाठ का समर्थन नहीं करने वाली भाषा में ऐसा करना। प्रत्येक वर्ण एक 3x3 डॉट मैट्रिक्स सरणी है। कुल 66 वर्ण हैं लेकिन 2 व्यास विपरीत हैं जिन्हें हम प्रिंट नहीं करते हैं (CODERS के बाद और FASTER से पहले।) मैजिक स्ट्रिंग के प्रत्येक बाइट में एक अक्षर की एक ही ऊर्ध्वाधर पंक्ति और विपरीत की एक एकल खड़ी पंक्ति के लिए एन्कोड होता है। पत्र। इस तरह हमें केवल 180 डिग्री पर ही स्वीप करना है।

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


चतुर, लेकिन आप एक बाइट में 4 पिक्सेल उच्च अक्षर करने में सक्षम होना चाहिए, नहीं? साथ ही, आपके पाठ को 5 वर्णों को दक्षिणावर्त घुमाया जाना चाहिए।
शाम

@ 4 पिक्सेल उच्च करने के लिए मुश्किल कोड के रूप में कई unprintables शामिल होंगे। मुझे नहीं लगता कि दुभाषिया इसे पसंद करेंगे। मैंने रोटेशन के लिए कल्पना को गलत समझा / गलत बताया। ( MEANSपहले से ही नीचे था और मैंने इसे गलत तरीके से घुमाया) +.2को -.3एडिटिंग में बदलने की आवश्यकता है ।
लेवल रिवर सेंट

चूंकि ओपी अपरकेस को निर्दिष्ट करता है, शायद ए को ⠰⠳ और आर को u के रूप में करते हैं ?
17'17

@ अब यह बहुत अतिरिक्त काम है, और मेरा मानना ​​है कि यह पठनीयता को कम करेगा। यह कुछ बड़े अक्षरों के लिए आर्टी और कैलकुलेटर फोंट में आम है जिसे लोअरकेस के समान समकक्षों के साथ बदल दिया जाएगा। मैं देखूंगा कि यह बाद में कैसा दिखता है।
स्तर नदी सेंट

3

एसवीजी (एचटीएमएल 5), 212 बाइट्स

<svg width=500 height=500><defs><path id=p d=M250,451a201,201,0,0,1,0,-402a201,201,0,0,1,0,402></defs><text font-size="32"><textPath xlink:href=#p>FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS

आसान संचार के लिए मेरे जवाब के स्टेटिक संस्करण का मतलब है तेज कोडिंग का मतलब है कम कोडर्स का मतलब ... ताकि FEWERइसे सबसे नीचे रखा जाए। आपके फ़ॉन्ट से मिलान नहीं होने की स्थिति में एडजस्टेबल संस्करण:

<p><input type=number value=0 min=0 max=9 oninput=p.setAttribute('d','M250,250m0,20_a20_,20_,0,1,1,20_,-20_a20_,20_,0,1,1,-20_,-20_a20_,20_,0,1,1,-20_,20_a20_,20_,0,1,1,20_,20_'.replace(/_/g,this.value))></p>
<svg width=500 height=500><defs><path id=p d=M250,250m0,200a200,200,0,1,1,200,-200a200,200,0,1,1,-200,-200a200,200,0,1,1,-200,200a200,200,0,1,1,200,200></defs><text font-size="32"><textPath xlink:href=#p>FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS


आप MEANS और FEWER के बीच रिक्ति को कैसे समायोजित करते हैं ? मेरे ब्राउज़र में, वे एक शब्द की तरह पढ़ते हैं।
Adám

@ Adám मैंने समायोज्य संस्करण पार कर लिया है।
नील

अच्छा लगा। यह खत्म हो रहा है और परे है।
एडम

2

पोस्टस्क्रिप्ट (127 बाइट्स)

हेक्स डंप:

00000000: 2f53 2031 92a5 9233 2f4d 6f6e 6f20 3992  /S 1...3/Mono 9.
00000010: 8e88 6432 3030 926b 3292 9a28 4943 4154  ..d200.k2..(ICAT
00000020: 494f 4e20 4d45 414e 5320 4641 5354 4552  ION MEANS FASTER
00000030: 2043 4f44 494e 4720 4d45 414e 5320 4645   CODING MEANS FE
00000040: 5745 5220 434f 4445 5253 204d 4541 4e53  WER CODERS MEANS
00000050: 2045 4153 4945 5220 434f 4d4d 554e 297b   EASIER COMMUN){
00000060: 5388 0033 2032 9287 9278 5320 6661 6c73  S..3 2...xS fals
00000070: 6592 112d 352e 3435 9288 7d92 4992 a7    e..-5.45..}.I..

Ungolfed (पाठ) संस्करण:

/S 1 string def
/Mono 9 selectfont
100 200 moveto
2 setlinejoin
(ICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS EASIER COMMUN)
{S 0 3 2 roll put S false charpath -5.45 rotate} forall
stroke

नमूना उत्पादन:

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


2

जावा 8, 1,087 बाइट्स

import javafx.animation.*;import javafx.application.*;import javafx.scene.*;import javafx.scene.layout.*;import javafx.scene.shape.*;import javafx.scene.text.*;import javafx.stage.*;import javafx.util.*;import java.util.*;import static javafx.animation.PathTransition.*;public class P extends Application{@Override public void start(Stage stage)throws Error{char[] t="EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS".toCharArray();Shape q=new Circle(400,400,120);List<Text>h=new ArrayList<>();List<Transition>z=new ArrayList<>();for(char c:t){Text o=new Text(c+"");h.add(o);z.add(x(q, o));}Pane p=new Pane();p.getChildren().addAll(h);int s=h.size();for(int i=0;i<s;i++){Transition w=z.get(i);w.jumpTo(Duration.seconds(10).multiply((i+.5)*1/s));w.play();}stage.setScene(new Scene(p,800,800));stage.show();}Transition x(Shape e,Text t){PathTransition v=new PathTransition(Duration.seconds(10),e,t);v.setCycleCount(INDEFINITE);v.setOrientation(OrientationType.ORTHOGONAL_TO_TANGENT);v.setInterpolator(Interpolator.LINEAR);return v;}static void main(String[]a){launch(a);}}

स्क्रीनशॉट


अच्छा लगा, लेकिन आपको MEANS और EASIER COM के बीच एक स्थान याद आ रहा है।
एडम

@ Adám: यह 6 बजे के नियम में FEWER के अनुरूप नहीं है!
सर्गियोल

0

LaTeX + TikZ, 380 बाइट्स

\documentclass[tikz,border=20pt]{standalone}\usetikzlibrary{decorations,decorations.text,}\begin{document}\begin{tikzpicture}\draw[color=white,rotate=-90,postaction={decorate,decoration={text along path,raise=4pt,text align={align=center},text={FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS },reverse path}}](0,0)circle(2.425cm);\end{tikzpicture}\end{document}

उदाहरण आउटपुट

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


0

Tcl / Tk, 222

grid [canvas .c]
set i 90;lmap c [split "FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS" ""] {.c cr t [expr {93*cos([set i [expr $i+5.5]]/57.3)+99}] [expr {93*sin($i/57.3)+99}] -te $c -ang [expr -$i-90]}

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

इसे बाद में गोल्फ करेंगे!

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