হ্যাকার লোগো প্রদর্শন করুন


57

আপনি হয়ত "হ্যাকার লোগো" শুনেছেন যা "হ্যাকার প্রতীক" নামেও পরিচিত। দেখে মনে হচ্ছে:

হ্যাকার লোগো

এটি গাণিতিক সিমুলেশন থেকে প্রাপ্ত একটি নিদর্শন যা গেম অফ লাইফ বলে। গ্লাইডারটি হ'ল সরল লাইফ প্যাটার্ন যা চলন্ত এবং সমস্ত জীবন নিদর্শনগুলির মধ্যে তাত্ক্ষণিকরূপে স্বীকৃতিযোগ্য।

চ্যালেঞ্জ

চ্যালেঞ্জটি বেশ সহজ: হ্যাকার লোগোটি প্রদর্শন করুন। এটি হিসাবে সংজ্ঞায়িত করা হয়:

  • সীমানা, একটি সাদা পটভূমি এবং ধূসর গ্রিডলাইন সহ একটি 3x3 গ্রিড।
  • GoL গ্লাইডার ধরণে সাজানো পাঁচটি কালো বিন্দু
  • আর কিছু না.

নিয়ম

  • কালো বিন্দুগুলি অবশ্যই তাদের ব্যক্তিগত গ্রিড-বাক্সের 40% - 80% পূরণ করতে পারে ।
  • আপনি গ্রাফিকাল আউটপুট সহ প্রতীকটি প্রদর্শন করবেন তবে কোনও ASCII শিল্প নয়
  • আউটপুট অবশ্যই কমপক্ষে 30x30 পিক্সেল হতে হবে ।
  • আউটপুটটিতে কেবল ধূসর, কালো এবং সাদা রঙ থাকতে হবে ।
  • গ্রিডের প্রতিটি গ্রিড-বক্স একই আকারের হবে। গ্রিডটি নিয়মিত 3x3 স্কোয়ারের হবে
  • আপনি ইন্টারনেট বা আপনার ফাইল সিস্টেম থেকে লোগোটি টানতে পারেন না।
  • আপনার প্রোগ্রামটি খালি স্ক্রিন / উইন্ডোতে লোগোটি প্রদর্শন করবে। যদি এটি সমাপ্ত হয় তবে এটি অবশ্যই স্বাভাবিকভাবেই করা উচিত।
  • নোট করুন যে "ডটস" এর অর্থ "চেনাশোনা" আবশ্যক নয়। একটি "ডট" হ'ল গ্রিড-বাক্সের মাঝখানে একটি পৃষ্ঠযুক্ত একটি একক জ্যামিতিক আকার। উদাহরণস্বরূপ, যখন একটি বৃত্ত বা বর্গক্ষেত্র একটি বিন্দু হিসাবে যোগ্যতা অর্জন করবে, দুটি ত্রিভুজ বা একটি চেকারবোর্ড তা করবে না।

বিজয়ী

এটি , প্রতিটি ভাষার সংক্ষিপ্ত উত্তর জিতে যায়!

আপনার উত্তরে আপনার প্রোগ্রামের আউটপুটটির একটি স্ক্রিনশট অন্তর্ভুক্ত করুন।


21
এটিকে হ্যাকার লোগো বলা হয়েছিল আমার কোনও ধারণা ছিল না। আমি এটি কয়েকটি সাইটগুলিতে আমার অবতার হিসাবে ব্যবহার করেছি, অনুমান যে এটি আমাকে হ্যাকার করে তুলেছে।
মার্ক থমাস

15
@ মার্কথোমাস বা এটি একটি জিওএল নারড এক্সডি
স্টিফেন

3
@ ডেভিডকনরড "স্ক্রিনটি সাফ করুন" এর অর্থ হল আপনি যদি এমন কোনও আইডিই / ইন্টারফেস ব্যবহার করেন যা গ্রাফিক্স বিল্টইন করে থাকে তবে আপনি এটি স্ক্রিনের বিদ্যমান পাঠ্যের সাথে প্রদর্শন করতে পারবেন না। হ্যাঁ, আপনি এটি একটি উইন্ডোতে প্রদর্শন করতে পারেন।
এমডি এক্সএফ

3
অ্যান্টি-এলিয়জিংয়ের কারণে ধূসর (এবং রঙের সাথে সম্পর্কিত) একাধিক শেডের অনুমতি রয়েছে কি?
ইয়ান মিলার

3
আমাদের কি আউটপুট প্রদর্শন করতে হবে বা আমরা এটি ফিরিয়ে দিতে পারি বা কোনও ফাইলে সংরক্ষণ করতে পারি?
TheLethalCoder

উত্তর:


27

গণিত, 62 বাইট

Grid[{{,a=██,},{,,a},{a,a,a}},Frame->All,FrameStyle->Gray]

এখানে চিত্র বর্ণনা লিখুন

গণিত, 71 বাইট

Grid[{{,l=Graphics@Disk[],},{,,l},{l,l,l}},Frame->All,FrameStyle->Gray]


এখানে চিত্র বর্ণনা লিখুন


2
আমি মনে করি আপনি Graphics@Disk[]একটি যুক্তি হিসাবে খাঁটি ফাংশন ব্যবহার করে বাইটস সংরক্ষণ করতে পারেন ।
ক্যালকুলেটরলাইন

আপনি যদি এই গ্রিডটি [{{, #,}, {,, # #}, {#, #, #}}, ফ্রেম-> সমস্ত, ফ্রেম স্টাইল-> ধূসর] এবং @ গ্রাফিকস @ ডিস্ক [] বলতে চান তবে এটি 72 বাইট
J42161217

3
এই একটি 69 বাইট বৈকল্পিক: Rasterize@Grid[{{,●,},{,,●},{●,●,●}},Frame->All,FrameStyle->Gray]। ● একটি দুটি বাইট ইউনিকোড অক্ষর। এটি কঠোরভাবে একটি বৃত্ত হতে হবে না কারণ সম্ভবত কিছু ASCII চরিত্র 40% -80% প্রয়োজনীয়তা পূরণ করতে কাজ করতে পারে।
ইয়ান মিলার

আসলে আমি সমস্ত প্রয়োজনীয়তা পূরণ করে 62 বাইটে তৈরি করেছি
J42161217

আমি মনে করি ইউনিকোড অক্ষর হিসাবে গ্রিডে প্রতীকগুলি এখনও নির্বাচনযোগ্য হিসাবে আপনার Rasterizeপ্রয়োজনীয়তা পূরণ করতে অনুরূপ বা অনুরূপ হতে পারে graphical output but no ASCII art
ইয়ান মিলার

33

সিএসএস + এইচটিএমএল, 56 + 84 = 140 বাইট 52 + 84 = 136 বাইট

মন্তব্যগুলি থেকে পরামর্শগুলি অন্তর্ভুক্ত করে 4 বাইট সংরক্ষণ করা হয়েছে।

td{border:1px solid#888;line-height:.4;font-size:3em
<table cellspacing=0><tr><td><td><td><tr><td><td><td><tr><td><td><td>

এটি ইউটিএফ -8 অক্ষরটি ব্যবহার করে যা 2 বাইট দীর্ঘ এবং এটি এইচটিএমএল সিনট্যাক্সের করুণার সুবিধা গ্রহণ করে।


3
খারাপ না; এটি ব্যবহার করে বেশ চালাক !
এমডি এক্সএফ 21

3
খুব ঠান্ডা. আমি মনে করি আপনি একটি বাইট সংরক্ষণ করতে পারেন line-height:.4;, এবং অন্যটি বন্ধ করে বাদ দিয়ে}
ইটিএইচ প্রোডাকশনগুলি

5
• গণনাটিকে ASCII শিল্প হিসাবে ব্যবহার করে না, যা চ্যালেঞ্জ বিধির বিপরীতে?
হানক্রেকর্ডস

2
@ স্টেফেনস সত্যিই নিরর্থক পার্থক্যের মতো শোনায়, এএসসিআইআই আর্ট নিষিদ্ধ করার পরিবর্তে কিন্তু ইউনিকোড আর্টকে অনুমতি দেওয়ার মতো বোধ আমি দেখছি না। ওপি হিসাবে যেহেতু এটি চতুর ছিল, আমার মন্তব্যটি আসলে ওপিকে নির্দেশিত ছিল, আমি @ টি দিতে ভুলে গেছি।
হানক্রেকর্ডস

4
আমি যে একমাত্র কোড গল্ফ উত্তরটি বুঝতে পেরেছিলাম তা কমপক্ষে আমি বিশ্বাস করি।
উওয়ে কেইম

25

জিএলএসএল (টুকরা শেডার), 278 235 256 বাইট

precision highp float;void main(){vec2 a=gl_FragCoord.xy/20.-.2;ivec2 b=ivec2(a);a-=vec2(b)+.5;if(b.x>2||b.y>2)discard;gl_FragColor=a.x<-.5||a.y<-.5||a.x>.3||a.y>.3?vec4(.5,.5,.5,1.):length(a+.1)<.4&&(b.x+b.y-3)*b.y==0?vec4(0.,0.,0.,1.):vec4(1.,1.,1.,1.);}

এখানে চিত্র বর্ণনা লিখুন

এটি কর্মে দেখুন: http://glslsandbox.com/e#40717.2


1
হুম ... কি গ্রাফিকের চারদিকে সীমানা যায়? এছাড়াও, আপনি কি নিশ্চিত যে চেনাশোনাগুলি গ্রিড-বাক্সগুলির কেবলমাত্র 80%?
এমডি এক্সএফ

12
একটি চেনাশোনা যা তার বেষ্টনী বর্গক্ষেত্রের সমস্ত চারদিকে স্পর্শ করে বর্গের একটি অনুপাত π / 4 বা প্রায় 78.5% পূরণ করে।
গ্রেগ মার্টিন

আমি আপনার কোডের আকার 222 বাইটে কমিয়ে দিয়েছি:precision highp float;void main(){vec2 a=gl_FragCoord.xy/20.-.2;ivec2 b=ivec2(a);a-=vec2(b)+.5;gl_FragColor=vec4(vec3(a.x<-.5||a.y<-.5||a.x>.3||a.y>.3?.5:length(a+.1)<.4&&(b.x+b.y-3)*b.y==0?.0:1.)*float(b.x<3&&b.y<3),1.);}
গ্যাবার ফেকেট

21

পাইথন 2 ,  169  140 বাইট

from turtle import*
up()
shape("square")
color("gray",[1]*3)
i=9
while i:
 i-=1;goto(20-i/3*20,20-i%3*20);stamp()
 if 302&2**i:dot(15,0,0,0)

আসল আকার, by১ বাই by০০, অনেক বড় ক্যানভাসের মধ্যে 300 বাই 400 এর প্লট করা হয়েছিল:

সঠিক আকার

পিক্সেল গ্রিড দেখাচ্ছে:

পিক্সেল গ্রিড সংস্করণ

19 বাই 19 হোয়াইট ফিল (144.4-288.8) বা 21 দ্বারা বাই বাইরের উভয় সীমানা (176.4-352.8) সহ বিবেচনা করে 40% -80% এর মধ্যে ডটগুলি 177 পিক্সেল ব্যবহার করে।

দ্রষ্টব্য: ম্যানুয়াল উইন্ডোটি লাইনটি সংযুক্ত করার জন্য প্রোগ্রামটি অঙ্কন শেষ হওয়ার সাথে সাথে ক্যানভাস উইন্ডোটি বন্ধ করে দেয় এবং বন্ধ করে দেয় done()

turtleপ্রারম্ভিক গ্রাফিকাল প্রোগ্রামিংয়ের জন্য তৈরি পাইথন প্যাকেজ। একটি কলম x,y=0,0300 বাই 400 পিক্সেলের ক্যানভাসের মাঝামাঝি থেকে শুরু হয় (ডিফল্টরূপে), upকলমটি উত্তোলন করে, কলমটি gotoসরিয়ে নিয়ে যায়, কলমের shapeআকারটিকে একটি নামযুক্ত আকারে সেট করে ( "square"21 এর পূর্বনির্ধারিত পিক্সেল-প্রস্থের একটি পূর্বনির্ধারিত আকার ), colorরঙ সেট করে, যেখানে দুটি প্যারামিটার স্ট্রোক সেট করে (ডিফল্ট 1 প্রস্থের সাথে) এবং পূরণ করে; একটি বাইট ব্যবহার করে সংরক্ষিত হয় (r,g,b)tuple বিকল্প প্রতিস্থাপন "white"সঙ্গে [1,1,1]তালিকা গুণ ব্যবহার [1]*3। অবশেষে dotপ্রদত্ত প্রস্থটি পিক্সেল এবং বর্ণের সাথে একটি বিন্দু আঁকুন। যোগ্যতার জন্য ডটের ডিফল্ট প্রস্থের মানটি খুব ছোট, 9তাই এটি আমি একটি নান্দনিক এবং যোগ্যতা তৈরি করেছি 15। বিন্দুর রঙ হতে পারে"black"তবে আনপ্যাকড (r,g,b)টুপল 0,0,0দুটি বাইট দ্বারা সংক্ষিপ্ত হয়।

কলমটি অবশ্যই কোনও বিন্দু থেকে সরে যেতে হবে অন্যথায় ধূসর / সাদা কলম বিন্দুটি আড়াল করে।

গ্রিড একটি div (ব্যবহার ভেদকরেখার /) এবং গেলিক ভাষার ( %এর) iথেকে শুরু 8( iথেকে ইনিশিয়ালাইজ করা হয় 9কিন্তু শুরুতে decremented হয় whileলুপ) এবং নিচে কাজ 0, ফল সমতা 2,1,0থেকে -1,0,1ব্যবহার (1-...)এবং ব্যবহার গ্রিড আকার পর্যন্ত প্রতিটি স্কেলিং 20 এর একটি ফ্যাক্টর (দ্রষ্টব্য যে 20-i/3*20এটি আসলে বাইটের চেয়ে কম 20*(1-i/3), একই ক্ষেত্রে যায় %)। এটি ক্রম [নীচে-বাম, কেন্দ্র-বাম, উপরের-বাম, নীচে-মধ্যম, কেন্দ্র-মধ্যম, শীর্ষ-মধ্যম, নীচে-ডান, কেন্দ্র-ডান, শীর্ষ-ডান] ক্রম তৈরি করে এবং " hasDot" এর মূল্যায়ন প্রয়োজন [1,0,0,1,0,1,1,1,0], যা 302বাইনারি হয় তাই এর দুটি উপাদান এর ith শক্তি পরিদর্শন করে অ্যাক্সেস করা যেতে পারে302কিছুটা ব্যবহার করে এবং 302&2**i


খুব ভাল পদ্ধতির এবং আমি যেভাবে সম্ভব ভেবেছিলাম তার চেয়ে কম ব্যবহার সম্ভব হবে turtle
মাস্ট

14

অ্যাপলসফট বেসিক , 479 476 516 515 483 482 বাইট

-32 অপঠনযোগ্য ভেরিয়েবলের নাম ব্যবহার করে: পি
-1 কারণ অ্যাপল যাদুকর হওয়ার সিদ্ধান্ত নিয়েছে এবং আমাকে একটি অন্তর্নিহিত / অস্তিত্বহীন GOTO ব্যবহার করতে দেয়

চেনাশোনা ব্যবহার করে না এমন আউটপুট উদাহরণের জন্য এখানে আমার নিজের (খুব মারাত্মক) প্রোগ্রামটি রয়েছে:

1GR:POKE49234,0:COLOR=15:FORI=0TO39:VLIN0,47ATI:NEXT:COLOR=5:S=21:W=S:H=27:X=INT((40-W)/2):Y=INT((48-H)/2):D=INT(W/3):DX=D:C=Y+H:G=X+W:FORI=0TO3:VLINY,C ATX+I*D:NEXT:D=INT(H/3):FORI=0TO3:HLINX,G ATY+I*D:NEXT:YH=INT(D/2):Z=Y+H-YH:XH=INT(DX/2):COLOR=0:FORI=0TO2:B=Z:A=X+XH+I*DX:GOSUB5:NEXT:B=B-D:GOSUB5:B=B-D:A=A-DX:GOSUB5:K=PEEK(-16384):IFK<128THEN2:K=PEEK(-16368):TEXT:HOME:END 
5VLINB+2,B-3ATA:VLINB+2,B-3ATA-1:VLINB+2,B-3ATA+1:VLINB+2,B-3ATA+2:VLINB,B-1ATA-1:VLINB,B-1ATA+2:RETURN

আউটপুট:


1
আমি নিশ্চিত নই যে এটি বৈধ কিনা, লাইন 1 যেহেতু 239 টির চেয়ে বেশি লম্বা, কমপক্ষে // ই তে সাধারণ পদ্ধতিতে প্রবেশ করা অসম্ভব।
insert_name_here

1
@ সন্নিবেশ_নাম_ এখানে আপনাকে একটি ডিস্কের একটি ফাইলে এটি সংরক্ষণ করতে হবে।
এমডি এক্সএফ

14

আইএ -32 মেশিন কোড, 81 80 বাইট

Hexdump:

60 8b f9 b8 50 35 20 20 ab b8 32 35 36 20 ab ab
ab fe 4f fe 33 c9 66 49 51 8a c1 d4 55 50 8a c5
d4 55 5b b2 80 84 c0 74 1f 84 db 74 1b b2 ff 2c
10 3c 35 77 13 93 2c 10 3c 35 77 0c 8d 0c 58 8a
cd b0 e4 d2 e0 79 01 42 92 aa 59 e2 cb aa 61 c3

এটি এমন একটি fastcallফাংশন যা doitসরবরাহিত বাফারটিতে চিত্রটিকে পিজিএম ফর্ম্যাটে ফিরিয়ে দেয়। ব্যবহার:

char buf[256 * 256 + 256];
doit(buf);

FILE* f = fopen("k.pgm", "wb");
fwrite(buf, 1, sizeof buf, f);
fclose(f);

আউটপুট:

হ্যাকারের লোগো

আমি 256x256 রেজোলিউশন ব্যবহার করেছি কারণ এটি শীতল এটি আমাকে পিক্সেলের সূচকটি ecxস্বয়ংক্রিয়ভাবে yভিতরে chএবং xভিতরে স্থানাঙ্কগুলিতে বিভক্ত করতে দেয় cl। এছাড়াও, পিজিএম ফাইল ফর্ম্যাটটির জন্য ইমেজ শিরোনামে 255 নম্বর প্রয়োজন।

অভ্যন্তরীণ বর্গক্ষেত্রগুলি 54x54 (অঞ্চল অনুযায়ী ঘরটির 41%) হয়।

উত্স কোড (ভিজ্যুয়াল স্টুডিও দ্বারা সংকলিত করা যেতে পারে):

    pushad;                 // save all registers
    mov edi, ecx;           // edi is now the pointer to output
    mov eax, '  5P';        // PGM file header
    stosd;                  // store it
    mov eax, ' 652';        // the number 256 and a space
    stosd;                  // store the width
    stosd;                  // store the height
    stosd;                  // store maximum brightness
    dec byte ptr [edi-2];   // fix maximum brightness to 255

    xor ecx, ecx;           // initialize the counter of pixels
    dec cx;                 // to 65535
myloop:
    push ecx;

    mov al, cl;             // al = cl = x coordinate in the image
    _emit 0xd4;             // divide by 85
    _emit 85;               // ah = x cell number, al = x coordinate in cell
    push eax;
    mov al, ch;             // al = ch = y coordinate in the image
    _emit 0xd4;             // divide by 85
    _emit 85;               // ah = y cell number, al = y coordinate in cell
    pop ebx;                // bh = x cell number, bl = x coordinate in cell

    mov dl, 0x80;           // gray pixel value
    test al, al             // is cell boundary (y)?
    je output1;
    test bl, bl;            // is cell boundary (x)?
    je output1;

    mov dl, 255;            // white pixel value
    sub al, 16;
    cmp al, 53;
    ja output1;             // if outside the inner square, output white
    xchg eax, ebx;          // exchange the registers to shorten following code
    sub al, 16;
    cmp al, 53;
    ja output1;             // if outside the inner square, output white

    lea ecx, [ebx * 2 + eax]; // cell index = y * 2 + x
    mov cl, ch;
    mov al, 0xe4;           // load the bitmap for the glider pattern
    shl al, cl;             // shift the needed but into SF
    jns output1;            // the bit was 0? - output white
    inc edx;                // the bit was 1? - change to black

output1:
    xchg eax, edx;
    stosb;                  // output the byte

    pop ecx;
    loop myloop;
    stosb;                  // output an additional gray pixel
    popad;
    ret;

সেল প্যাটার্ন

0 1 0
0 0 1
1 1 1

7 বিটের একটি "অনুকূলিত" বিটম্যাপ দ্বারা প্রতিনিধিত্ব করা যেতে পারে।

বিটগুলি এক্সপ্রেশন দ্বারা সূচিযুক্ত হয় y * 2 + xযেখানে (x,y)ঘরের অবস্থান। এই এক্সপ্রেশনটি 2 জোড়া কোষকে একই সূচক দেয়। এটি একটি ভাগ্যবান কাকতালীয় বিষয় যে বিট মানগুলি একই রকম।


1
এটি দুর্দান্ত, তবে আমি 42*42/85/85কেবল 24.4% তৈরি করি।
জোনাথন অ্যালান

@ জোনাথন অ্যালান: কক্ষের সাদা অংশগুলি কেবলমাত্র 84x84, তবে হ্যাঁ, একটি 42x42 বাক্স একটি 84x84 বাক্সের এক চতুর্থাংশ।
নিক মাত্তিও

আমি স্পষ্টতা চেয়েছি (এটি যদি এলাকায় যায় তবে আমি আশা করি এটি আপডেট করা খুব বেশি কঠিন নয়)।
জোনাথন অ্যালান

রায়টি এই অঞ্চলে ...
জোনাথন অ্যালান

আমি কালো বিন্দুগুলি 42 থেকে 54 পর্যন্ত
বাড়িয়ে দিয়েছি

14

এইচটিএমএল এবং সিএসএস, 155 বাইট

দেখা যাচ্ছে এইচটিএমএলটি সিনট্যাক্স ত্রুটিগুলি সম্পর্কে সত্যই ক্ষমা করছে।

@ অটোকপাসকে 1 বাইট সংরক্ষিত ধন্যবাদ · @ ডাউনওয়েটকে 1 বাইট সংরক্ষিত · 2 বাইট @ স্টেফেনসকে ধন্যবাদ বাঁচিয়েছে

@ বায়ান @ রাইনের প্রতি ধন্যবাদ রক্ষা করেছে · 3 বাইট @ স্টাইফলে saved 4 বাইট সংরক্ষণ করেছে @ ফেরিবিগকে ধন্যবাদ

13 বাইটস সংরক্ষণ করেছেন @ স্টিভবেনেটকে ধন্যবাদ

p{height:33px;width:33px;border-radius:50%;background:#000;margin:0
<table cellspacing=0 border=1><td><td><p><td><tr><td><td><td><p><tr><td><p><td><p><td><p


2
দয়া করে কোন ব্রাউজারে (এবং কোন সংস্করণটি) কাজ করে তা নির্দেশ করুন - এটি অপেরা 45-এ কাজ করে না
পাওলো ইবারম্যান

2
স্নিপেটটি উইন্ডোজে ক্রোম 58.0.3029.110 (-৪-বিট) ব্যবহার করে আমার পক্ষে কাজ করে না। এটি কোন ক্রোম সংস্করণে কাজ করে?
জোনাথন অ্যালান

এটি ম্যাকোস সিয়েরা (10.12.4) তে সাফারি 10.1 সহ চেনাশোনাগুলি প্রদর্শন করে না।
আর কাপ,

ক্রোমিয়াম 55.0.2883.87 (64-বিট) এর সাথে বিন্দুগুলি প্রদর্শিত হয় না।
ডিলান মিউস

অ্যান্ড্রয়েডের জন্য ক্রোমে বিন্দুগুলি দেখতে পাচ্ছেন না (58.0.3029.83)
স্পিক্যাট্রিক্স

11

আর ( 130 119 113 বাইট)

plot(c(2,4,6,4,6),c(2,2,2,6,4),an=F,ax=F,xli=(l=c(1,7)),yli=l,xaxs="i",yaxs="i",pch=16,cex=19);grid(3,lt=1);box()

এখানে চিত্র বর্ণনা লিখুন


আপনি axes=Fপ্রতিস্থাপন করতে ব্যবহার করতে পারেন xaxt="n",yaxt="n"। আপনি যদি সমস্ত সমন্বিত মানগুলি দ্বিগুণ করেন তবে আপনি 4 নেট বাইট সংরক্ষণ করুন (তবে 1:3,2:3কৌশলটি ব্যবহার করতে পারবেন না )।
ব্যবহারকারী 2390246

@ ব্যবহারকারী 2390246: পরামর্শের জন্য THX। আমি এটি গল্ফ করার জন্য খুব বেশি সময় পাইনি। আমি নিশ্চিত যে আরও সম্ভাব্য উন্নতি রয়েছে। আমি যোগ করতে ছিল ;box()যেমন axes=Fএছাড়াও ফ্রেম সরিয়ে ফেলা হয়। এছাড়াও, যেমন axesএকটি হল plotপরামিতি এবং কাছে হস্তান্তর না parমাধ্যমে ...যেমন xaxt/ yaxt, এটা এমনকি সম্পূর্ণভাবে বানান আউট করা প্রয়োজন নেই।
মিসচিলি

1
আপনি c(1,7)ভেরিয়েবল ( l=c(1,7)) এর পরিবর্তে (1) দ্বারা 7 বাইট মুণ্ডন করতে পারেন ; (2) প্রতিস্থাপন annসঙ্গে an; (3) প্রতিস্থাপন [xy]liসঙ্গে [xy]li; এবং (4) দ্বিতীয়, অপ্রয়োজনীয় যুক্তি সরানোর grid: grid(3,lt=1)। প্রকৃতপক্ষে, আমি এটিকে সম্পাদনার স্বাধীনতা নিয়েছি (পর্যালোচনাধীন)।
কনরাড রুডলফ

1
@ কনরাড রুডল্ফ প্রাসঙ্গিক বলে মনে হচ্ছে: কোডগল্ফ.মেটা.স্ট্যাকেক্সেঞ্জিং
ম্যাট

@ ম্যাট এইচএম দেখে মনে হচ্ছে যে এটি কেবল সহজ-সরল উন্নতিগুলি প্রয়োগ করার পরিবর্তে মৌলিকভাবে বিভিন্ন অপটিমাইজেশন প্রয়োগ করে sense যথেষ্ট ফর্সা।
কনরাড রুডল্ফ

9

পাইথন 2.7, 214 311 309 বাইট

from matplotlib.pyplot import*
f,x=subplots()
j=(0,0),(1,0),(2,0),(1,2),(2,1)
for i in j:x.add_artist(Circle((i),.4,color='k'))     
x.tick_params(labelbottom='off',labelleft='off')
for o in x.spines.values():o.set_edgecolor('gray')
for s in 'xy':exec"x.set_"+s+"ticks((.5,1.5,2.5));"+s+"lim(-.5,2.5);"
grid()

কোড গল্ফে এটি আমার প্রথম প্রচেষ্টা, সুতরাং আমি নিশ্চিত যে এটি আরও উন্নত হতে পারে। আমি সীমাবদ্ধতা স্থাপন না করা পছন্দ করতাম, তবে এটি প্রদর্শিত হয় যে ম্যাটপ্লটলিব সনাক্ত করতে পারে না যে আমি যেখানে বৃত্ত তৈরি করেছি। Xlim () এবং ylim () সেট না করে এটি কেবল নীচের দুটি বৃত্ত দেখায়।

আউটপুট:

সম্পাদন করা

সম্পাদনা করুন: সীমানাগুলির রঙ স্থির করে টিক নম্বরগুলি সরানো। আমার অবশ্যই বলতে হবে ম্যাটপ্ল্লিটিব খুব ঘন শব্দযুক্ত, এবং অক্ষের রং পরিবর্তনের সাথে খুব বেশি বন্ধুত্বপূর্ণ নয়।

ডিজেএমসিএমহেমকে ধন্যবাদ 3 বাইট বন্ধ

সম্পাদনা করুন: আমার টিক্স সেট_টিক্স ফাংশনের ভিতরে টিপল হিসাবে সেট করে দুটি বাইট নিল।


দুঃখিত, গ্রাফের নম্বরগুলি অনুমোদিত নয়। এছাড়াও, সীমান্ত ধূসর হয়?
এমডি এক্সএফ

3
সাইটে স্বাগতম! এটি একটি সুন্দর প্রথম উত্তর। :)
DJMcMayhem

1
কিছু ছোটখাটো গল্ফ আমি দেখতে পেয়েছি: 1) আপনি যদি একটি স্থান এবং একটি নিউলাইন (-2 বাইট) 2 সরানোর জন্য 5 এবং 6 লাইনগুলিতে যোগদান করতে পারেন তবে সেট xy_ticks এবং xy_lim এর ক্রম যদি কোনও গুরুত্ব না দেয় তবে আপনি এর মতো কিছু করতে পারেন for s in'xy':exec"x.set_"+s+"ticks(a);"+s+"lim(-.5,2.5);"। (আমি যে যদিও পরীক্ষিত না, তাই আমি ইতিবাচক নই)
DJMcMayhem

8

বাশ + চিত্রম্যাগিক, 233 226 টি অক্ষর

convert xc: +antialias -resize 31 -draw "stroke gray fill none ${r=rectangle} 0,0 10,30$r 20,0 30,30$r 0,0 30,10$r 0,20 30,30stroke #000 fill #000 ${c=circle} 15,5 15,8$c 25,15 25,18$c 5,25 5,28$c 15,25 15,28$c 25,25 25,28" x:

নমুনা আউটপুট:

বাশ এবং ইমেজম্যাগিকের সাহায্যে টানা গ্লাইডার

বাশ + চিত্রম্যাগিক, 215 টি অক্ষর

convert xc: -resize 31 -draw "stroke gray fill none ${r=rectangle} 0,0 10,30$r 20,0 30,30$r 0,0 30,10$r 0,20 30,30stroke #000 fill #000 ${c=circle} 15,5 15,8$c 25,15 25,18$c 5,25 5,28$c 15,25 15,28$c 25,25 25,28" x:

প্রশ্ন মালিক এখনও অ্যান্টি-এলিয়জিং প্রশ্নের উত্তর দেয়নি এবং কিছু অন্যান্য সমাধানে অ্যান্টি-এলিয়াসিং দ্বারা অতিরিক্ত ধূসর ছায়াও রয়েছে, সুতরাং আপাতত এই সংক্ষিপ্তটিকেও গ্রহণযোগ্য মনে হচ্ছে।

নমুনা আউটপুট:

অ্যান্টি-এলিয়াসিং সহ বাশ এবং ইমেজম্যাগিকের সাহায্যে আঁকা গ্লাইডার


8

রুবি, 144 166 164 148 144 বাইট

require'ruby2d'
set background:'grey'
c=482;g=2,13,24;d=0
g.map{|y|g.map{|x|Square.new(x,y,9);Square.new(x+2,y+2,5,"black")if c[d]>0;d+=1}}
show

আউটপুট:

আউটপুট

সম্পাদনা: এখন ধূসর গ্রিডলাইন রয়েছে।


3
আমি এখানে কয়েকটি গল্ফ করার সুযোগ দেখতে পাচ্ছি। প্রারম্ভিকদের জন্য, d=d+1একটি সংক্ষিপ্ত ফর্ম রয়েছে ( d+=1) এবং ==1এটি সমান >0। আপনি অ্যারের পরিবর্তে ফিক্সনামে সি সেট করলে কী হবে তাও বিবেচনা করুন :-)
আরজেহান্টার

1
@ আরজেহান্টার আমি কিছু কম ঝুলন্ত ফল মিস করেছি! এবং আমি সি দিয়ে একটি বিটফিল্ড তৈরি করার মতো স্টাফ নিয়ে ভাবলাম, তবে বাস্তবায়নের ক্ষেত্রে এটি সংক্ষিপ্ততর একটি উপায় নিয়ে আসতে পারিনি।
মার্ক টমাস

2
সম্ভবত আশ্চর্যের বিষয়, রুবির আসলে কিছু বিটফিল্ড সমর্থন অন্তর্নিহিত রয়েছে! আপনি কোনও পূর্ণসংখ্যা অ্যাক্সেস করতে পারেন []যেমন এটি বিটের অ্যারে (কেবল পঠনযোগ্য, তবে এখানে ঠিক আছে)।
আরজেহান্টার

@ আরজেহান্টার ধন্যবাদ! আমাকে যা করতে হয়েছিল তা হ'ল উপযুক্ত সংখ্যাতে সি পরিবর্তন করা। একে খানিকটা কমিয়েছে।
মার্ক থমাস

আপনি পরিবর্তন করতে পারেন g=[2,13,24]করতে g=2,13,24এবং প্রতিস্থাপন eachসঙ্গে map
জর্দান

8

পিএনজি, 105 100 বাইট

পিএনজি চিত্র    (যেমন এই চিত্র ফাইল)

এইচটিএমএল এবং অন্যান্য অ-প্রোগ্রামিং ভাষাগুলির অনুমতি রয়েছে তা বিবেচনা করে , বেসলাইন তুলনা হিসাবে পরিবেশন করার জন্য, আমি কীভাবে একটি সাধারণ ব্রাউজার-প্রদর্শনযোগ্য চিত্রটি গল্ফ করতে পারি তা জানতে আগ্রহী ছিলাম। ফলাফলটি ওপেন-সোর্স সরঞ্জামগুলি অপটিপং ( -o7 -zm1-9 -strip all) এবং পিএনজিওয়াল্ফ দিয়ে সংকুচিত হয় । আমি zopflipng নিয়েও পরীক্ষা-নিরীক্ষা করেছি , তবে ফলাফল বড় ছিল। অন্যান্য বদ্ধ-উত্স সংক্ষেপণ সরঞ্জামগুলি আরও কয়েকটি বাইট শেভ করতে সক্ষম হতে পারে।

বেস 64 এ চিত্র ডেটা:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAA
fCAAAAAA6xUnlAAAAK0lEQVR42mM4gB8wHPgPAwf+M0DAf4TYqDwp
4Ydp0qg8ofBDqMXKGpXHDwDDq0qBspApTgAAAABJRU5ErkJggg==

সম্পাদনা আমি পিক্সেল প্যাটার্নটিতে আরও পুনরাবৃত্তি ঘটানোর জন্য এবং সংক্ষেপণের অনুপাতকে উন্নত করতে ডটগুলি ঘরের উপরের এবং নীচে স্পর্শ করেছিলাম। তবে চিন্তা করবেন না, একটি বিন্দু এখনও কেবল পূরণ করে (7 * 9) / (9 * 9) its এর কোষের 78%।


অ-মানক পিএনজি, 88 বাইট

@ অ্যান্টোলিগ দ্বারা চিহ্নিত হিসাবে , আইএএনডি অংশ (12 বাইট) অপসারণের মাধ্যমে কিছু গল্ফিং সম্ভাবনা রয়েছে। প্রযুক্তিগতভাবে, আইএএনডি মানক দ্বারা প্রয়োজনীয় । তবে প্রতিটি পিএনজি অংশের নিজস্ব আকার এবং চেকসামের তথ্য অন্তর্ভুক্ত রয়েছে। সুতরাং শেষ-চিহ্নিতকারী থাকা একেবারেই প্রয়োজনীয় নয়। এবং প্রকৃতপক্ষে, আমি পরীক্ষিত সমস্ত ব্রাউজারগুলি ইস্যু ছাড়াই চিত্রটি প্রদর্শন করতে পারে।

দুর্ভাগ্যক্রমে (বা সৌভাগ্যক্রমে), এই অ-মানক চিত্রটি ইমগুর দ্বারা প্রত্যাখ্যান করা হয়েছে, তাই আমি আসলে এটি আপলোড করতে পারি না। এটি বেস 64 এনকোডিং:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAA
fCAAAAAA6xUnlAAAAK0lEQVR42mM4gB8wHPgPAwf+M0DAf4TYqDwp
4Ydp0qg8ofBDqMXKGpXHDwDDq0qBspApTg==


আমি নিশ্চিত না এই বৈধ কিনা। PNGপ্রোগ্রামিং ভাষা নয়।
ডিজেএমসিএমহেম

4
আপনাকে এমডি এক্সএফ ধন্যবাদ। @ ডিজেএমসিমেহেম দুটিই এইচটিএমএল নয়। তবে চিত্রটির ছোট আকার বিবেচনা করে, আমি এটি বক্স-এ-প্রবেশের বাইরে একটি আকর্ষণীয় হিসাবে জমা দিয়েছি।
মায়ার


4
এছাড়াও, পিপিসিজিতে স্বাগতম, মায়ার! :)
মার্টিন ইন্ডার

1
আপনি ফাইলটির শেষে কয়েকটি বাইট সরিয়ে ফেলতে পারেন এবং চিত্রটি এখনও পেতে পারেন। যদিও কোনও দর্শকের উপর নির্ভর করতে পারে; আমি কল্পনা করি বেশিরভাগ দর্শকের উপস্থিত থাকার জন্য যেমন শেষের অংশের প্রয়োজন নেই।
অ্যানাটলিগ

7

অষ্টাভে , 127 124 বাইট

লুইসকে ধন্যবাদ 3 বাইট সরানো হয়েছে। gridযথেষ্ট (পরিবর্তে grid on)।

spy([0,1,0;0,0,1;1,1,1],'.k',300),set(gca,'XTick',.5:4,'XTickLabel','','YTick',.5:4,'YTickLabel',''),axis(.5+[0,3,0,3]),grid

ফলাফল (সংরক্ষণের পরে):

নোট করুন আউটপুট প্লটের উইন্ডোতে ধূসর গ্রিড লাইনগুলি দেখায়। এটি সংরক্ষণ করার সময় তারা কালো হয়ে যায় (কোনও কারণে)।

এখানে চিত্র বর্ণনা লিখুন

ভাল, যে দীর্ঘ এবং অগোছালো ছিল! মধ্য দিয়ে যেতে হয় অনেক চশমা এই মেনে চলে করতে পরিবর্তন।

ব্যাখ্যা এবং আশা করি কিছু গল্ফিং আসছে ...


এটি খুব স্কোয়ার দেখাচ্ছে না, তবে যেহেতু ওপি একটি অনুরূপ আউটপুট দিয়ে একটি উত্তর দিয়েছে আমি অনুমান করি এটি ঠিক আছে ..
L3viathan

2
আমি মনে করি উচ্চতা / প্রস্থের অনুপাতটি প্ল্যাটফর্ম নির্ভর। 'square'এটি সমস্ত প্ল্যাটফর্মে স্কোয়ার তৈরি করতে যুক্ত করুন । spy([0,1,0;0,0,1;1,1,1],'.k',80),set(gca,'XTick',.5:4,'XTickLabel','','YTick',.5:4,'YTickLabel',''),axis(.5+[0,3,0,3],'square'),grid on
স্টিভি গ্রিফিন

7

প্রক্রিয়াজাতকরণ, 212 198 বাইট

background(-1);noFill();stroke(99);rect(0,0,99,99);rect(0,33,99,33);rect(33,0,33,99);fill(0);int f=25;ellipse(15,83,f,f);ellipse(50,83,f,f);ellipse(83,83,f,f);ellipse(83,50,f,f);ellipse(50,15,f,f);

মূলত, আমরা একটি সাদা পটভূমি আঁকার জন্য সহজ প্রসেসিং ব্যবহার করছি, তারপরে গ্রিডের জন্য ব্যবহৃত আয়তক্ষেত্রগুলির স্বচ্ছতা সেট করে এবং ধবধবে তাদের স্ট্রোক আঁকছি। আমরা আয়তক্ষেত্রটি সংজ্ঞায়িত করে, চেনাশোনাগুলিকে কালো পূরণ করার জন্য আবার পূরণের মানটি সেট করে এবং পাঁচটি চেনাশোনা সংজ্ঞায়িত করে চালিয়ে যাই।

ভাল খবর!

এখানে চিত্র বর্ণনা লিখুন

আপনি যোগ করতে পারে

strokeWidth(2); 

বা আরও স্ট্রোকের রঙ আরও ভাল দেখতে।

(এটি আমার প্রথম কোড-গল্ফ, আমি আশা করি আমি সবকিছু ঠিকঠাক করেছি।)

সম্পাদনা: কৃতমিক লিথোসকে ধন্যবাদ! নতুন লাইনগুলি সরানো হয়েছে, int f = 25 এ পরিবর্তিত হয়েছে এবং পটভূমিতে -1 ব্যবহৃত হয়েছে (ভাসা)


1
দুর্দান্ত প্রথম গল্ফ, এবং পিপিসিজিতে আপনাকে স্বাগতম!
এমডি এক্সএফ

1
আপনি নতুন লাইন সরানোর পরিবর্তন করে কিছু বাইট সংরক্ষণ করতে পারবেন float f=25;করার int f=25;এবং ব্যবহার করে background(-1)পরিবর্তেbackground(255);
Kritixi Lithos

6

টিক্জ, 193 175 170 বাইট

\documentclass[tikz]{standalone}\begin{document}\tikz{\def\a{)rectangle(}\def~{)circle(1)(}\draw(4,6\a2,0)(0,\a6,6)(0,2\a6,4);\fill(1,1~3,1~5,1~5,3~3,5~,)}\end{document}

এখানে ফলাফল:

আউটপুট


3
@ এমডিএক্সএফ এটি বন্ধ করে দেয় তবে এগুলি নিখুঁত চেনাশোনা এবং স্কোয়ার হিসাবে তারা বর্গক্ষেত্রের 79/4 গঠন করে যা বর্গক্ষেত্রের প্রায় 79%।
গম উইজার্ড

অভি, চ্যালেঞ্জের দিকে তাকিয়ে ঠিক একই ধারণা
পেয়েছিল


4

প্রসেসিং, 134 বাইট

@ জেপ দ্বারা অনুপ্রাণিত, এখানে আমার প্রসেসিং ওয়ান-লাইনার (এবং আমার প্রথম কোড গল্ফ) রয়েছে:

stroke(127);for(int i=0;i<9;i++){int x=i%3*30;int y=i/3*30;fill(255);rect(x+5,y+5,30,30);if(i==1||i>4){fill(0);ellipse(x+20,y+20,23,23);}};

কয়েকটা বাইট ছাঁটাই করার উজ্জ্বল টিপসের জন্য কৃতিক্সিত লিথোসকে ধন্যবাদ!

প্রসেসিং মধ্যে গ্লাইডার


দয়া করে একটি ভাষা এবং স্কোর লাইন অন্তর্ভুক্ত করুন ।
থেরোট

পিপিসিজিতে আপনাকে স্বাগতম এবং প্রথম প্রথম উত্তরের! থেরোটের বক্তব্য অনুসারে, সমস্ত সাবমিশনগুলির একটি শিরোনাম থাকা দরকার যাতে ভাষা এবং বাইকোয়েন্ট থাকে। এছাড়াও আপনি ফর-লুপের সমস্ত ভেরিয়েবলগুলি ঘোষণা করে কিছু বাইট গল্ফ করতে পারেন, for(int i=0,x,y;...যাতে আপনি লুপটির intশরীরে ড্রপ করতে পারেন । অতিরিক্ত হিসাবে, fill(255);ন্যায়পরায়ণ হয়ে উঠতে পারেfill(-1);
ক্রিটিক্সী লিথোস

আমি এই পরীক্ষা করা হয়েছে, কিন্তু আমি তোমাদের ড্রপ করতে পারেন মনে +20যখন মান নির্ধারণের xএবং y, যাতে আপনি পরিবর্তন করতে পারেন rectকরতে rect(x+5,y+5,30,30);এবং ellipseকরতে ellipse(x+20,y+20,23,23);এবং দুই বাইট সংরক্ষণ করুন।
ক্রিটসি লিথোস

4

ল্যাটেক্স + টিক্জ, 155 বাইট

\documentclass[tikz]{standalone}\begin{document}\tikz{\draw(0,0)grid(3,3);\foreach\x/\y in{0/0,1/0,2/0,2/1,1/2}\fill(\x+.5,\y+.5)circle(.5);}\end{document}

ফলাফল


1
এটা কি 1/0বিভাজন করছে?
wizzwizz4

দুঃখিত, তবে না, এটি জোড় xএবং yস্থানাঙ্কের মধ্যে একটি সাধারণ বিভাজক ।
টনিওএলগ্রিংগো

আপনি 2 দ্বারা সবকিছু আপ স্কেলিং দ্বারা কয়েক বাইট সংরক্ষণ করতে যাতে আপনার সক্ষম হওয়া উচিত .5'র মাত্র হয়ে 1
ক্রিস

@ ক্রিস গ্রিড অন্তর্নির্মিতভাবে ডিফল্টরূপে ইউনিট-দৈর্ঘ্য কোষ তৈরি করে এবং [step=2]বৃহত্তর গ্রিড উত্পাদন করতে এটি প্রায় 8 বাইট বেশি (যোগ ) লাগে takes চেনাশোনাগুলি আঁকার জন্য স্থানাঙ্কগুলি সরলকরণে যথেষ্ট পরিমাণ বাইট সংরক্ষণ করা যায় না। (আপনি এটি করলে 157 বাইট পাবেন)
টনিওএলগ্রিঙ্গো

@ টনিওএলগ্রিংগো আহ, সত্য। প্রথমে এটি পরীক্ষা না করে আমাকে মন্তব্য করতে শেখায়;)
ক্রিস

4

স্মাইলব্যাসিক, 125 বাইট

GCLS-1GCOLOR #GRAY
GBOX.,8,30,38GBOX 10,8,20,38GBOX.,18,30,28G.,1G 1,2G-1,3G.,3G 1,3DEF G X,Y
GPUTCHR X*10+12,Y*10,58081,.END

58081 (U + E2E1, যা "ব্যক্তিগত ব্যবহারের অঞ্চল" ব্লকের মধ্যে রয়েছে) একটি বৃত্ত প্রতীকের অক্ষর কোড। এটিকে স্ট্রিংয়ে রাখলে খুব কার্যকর হবে, তবে এটি যেহেতু এটি ইউটিএফ -8 এ 3 বাইট হিসাবে এনকোড করা হয়েছে, এটি একই দৈর্ঘ্য হবে (এবং সঠিকভাবে এখানে প্রদর্শিত হবে না)।

মার্কডাউন ভয়ঙ্কর


1
মৌলিক উত্তরগুলি দেখতে এটি সর্বদা সতেজ !
টেলর স্কট

3

সি #, 333 বাইট

using System.Drawing;_=>{var b=new Bitmap(31,31);var g=Graphics.FromImage(b);g.FillRectangle(Brushes.White,0,0,31,31);for(int x=0,y;x<3;++x)for(y=0;y<3;++y){g.DrawRectangle(Pens.Gray,x*10,y*10,10,10);if(x==1&y<1|x>1&y==1|y>1)g.FillEllipse(Brushes.Black,x*10+1,y*10+1,8,8);}b.Save("t.png");System.Diagnostics.Process.Start("t.png");};

সম্পূর্ণ / ফর্ম্যাট সংস্করণ:

using System.Drawing;
Action<int> a = _ =>
{
    var b = new Bitmap(31, 31);
    var g = Graphics.FromImage(b);

    g.FillRectangle(Brushes.White, 0, 0, 31, 31);

    for (int x = 0, y; x < 3; ++x)
        for (y = 0; y < 3; ++y)
        {
            g.DrawRectangle(Pens.Gray, x * 10, y * 10, 10, 10);
            if (x == 1 & y < 1 | x > 1 & y == 1 | y > 1)
                g.FillEllipse(Brushes.Black, x * 10 + 1, y * 10 + 1, 8, 8);
        }

    b.Save("t.png");
    System.Diagnostics.Process.Start("t.png");
};

আইডিয়াটি সহজ আমরা চিত্র থেকে গ্রাফিক্স অবজেক্ট তৈরি করি এবং চিত্রটি সমস্ত সাদা করার জন্য এটি ব্যবহার করি। তারপরে আবদ্ধ আয়তক্ষেত্রটি আঁকতে চিত্রের প্রতিটি বর্গক্ষেত্রের উপর লুপ করুন। যদি এটি বিন্দুর জন্য অবস্থানগুলির মধ্যে একটি হয় তবে আমরা এটিও আঁকছি। সবশেষে আমরা ছবিটি ফাইল করার জন্য সংরক্ষণ করি এবং উইন্ডোজগুলি কীভাবে এটি খুলতে হয় তা সিদ্ধান্ত নিতে দেয়, আমার ক্ষেত্রে এটি উইন্ডোজ ফটো ভিউয়ার দিয়ে খোলে।

Processইমেজটি দেখানোর জন্য একটি ব্যবহার করা এবং ফাইলগুলিতে সঞ্চয় করা উইন্ডো ফর্ম বা ডাব্লুপিএফ অ্যাপ্লিকেশন তৈরির চেয়ে অনেক কম কারণ এটি তৈরি করতে প্রয়োজনীয় বিভিন্ন শ্রেণি এবং অতিরিক্ত ফ্লাফ।

আউটপুট:

আউটপুট


আমি মনে করি না আপনাকে প্রসেস.স্টার্ট ব্যবহার করতে হবে, উদাহরণস্বরূপ টাইটাস উত্তরটি কেবল চিত্রের আউটপুট দেয়, এটি খোলেন না
জেরেমি থম্পসন

@ জেরেমি টমসন নিয়ম অনুসারে আপনি ছবিটি অবশ্যই প্রদর্শন করবেন
TheLethalCoder

3

পিএইচপি, 221 + 2 বাইট

<?imagefill($i=imagecreatetruecolor(31,31),0,0,~0);function q($i,$x,$y,$f){imagerectangle($i,$x*=10,$y*=10,$x+10,$y+10,5e6);$f?:imagefilledellipse($i,$x+5,$y+5,8,8,0);}for($p=16;$p--;)q($i,$p&3,$p>>2,53>>$p&1);imagepng($i);

ফাইল এ সংরক্ষণ করুন; ব্রাউজারে কল করুন। আপনার ব্রাউজার প্রদর্শন অর্থহীন, should
সন্নিবেশ header("Content-Type:image-png");সামনে imagepng($i);

আউটপুটবিন্দুগুলি খুব গোলাকার নয়; এটি ছোট অনুপাতের কারণে।

ভাঙ্গন

function q($i,$x,$y,$f){        # function to draw quadrant:
    imagerectangle($i,$x*=10,$y*=10,$x+10,$y+10,5e6);   # draw lines in 0x4c4b40
    $f?:imagefilledellipse($i,$x+5,$y+5,8,8,0);         # if bit not set, draw dot
}

imagefill($i=
    imagecreatetruecolor(31,31) # create image
    ,0,0,~0);                   # fill with 0xffffff (white)
for($p=16;$p--;)q($i,           # loop through positions, call function
    $p&3,                           # $x=lower two bits
    $p>>2,                          # $y=upper two bits
    53>>$p&1                        # $f=one bit from %0000 0000 0011 0101
);                                      # (reversed inverted bit mask for dots)
imagepng($i);                   # output image

আমি মনে করি যে 0x4c4b40প্রায় ধূসর হিসাবে যোগ্যতা অর্জন করে। যদি না হয় তবে চারটি বাইট যুক্ত করুন।


3

আর 313 236 বাইট

l=c(1,7)
bmp('r',400,400)
plot(x=c(4,6,2,4,6),c(6,4,2,2,2),cex=14,pch=19,xlim=l,ylim=l,xlab='',ylab='',xaxs='i',yaxs='i',axes=F)
a=function(s,...){axis(s,labels=F,tck=1, col="gray",lwd=9,...)}
a(1,xaxp=c(l,3))
a(2,yaxp=c(l,3))
dev.off()

সংশোধিত কোড, @ ব্যবহারকারী 2390246 এর মন্তব্যের ভিত্তিতে মূলত mostly 77 বাইট সংরক্ষণ করেছে। সাহায্যের অনেক প্রশংসা করি।

এছাড়াও, @ এমএসচিলি দ্বারা সংক্ষিপ্ত আর সমাধানে একটি কল-আউট যুক্ত করতে চান। এটি আর গ্রাফিকাল ডিফল্টগুলির সমস্যা সমাধানের একটি দুর্দান্ত উপায় দেখায়।

আউটপুট

"R" ফাইলের নাম যায়। ছাড় এবং এক্সটেনশন আমাকে চার বাইট সংরক্ষণ করে। তবে তারপরে আমাকে আপলোড পেতে ফাইল এক্সটেনশানটি "bmp" এ ফিরে সম্পাদনা করতে হয়েছিল। সুতরাং সম্ভবত আমার চারটি বাইটের ক্রেডিট পাওয়া উচিত নয়।

হ্যাকার লোগো

ভাষ্য

আমি মনে মনে ভাবলাম, "এই গ্রাফিকটি পাঁচটি ডট সহ একটি সহজ গ্রাফ ছাড়া কিছুই নয় rob শক্ত ডেটা গ্রাফিক্স ক্ষমতা সহ কোনও ভাষায় প্রয়োগ করা সহজ বিষয় হওয়া উচিত Let's এটি আর-তে চেষ্টা করা উচিত" " তবে তারপরে আমাকে কেবলমাত্র আর এর গ্রাফিক ডিফল্টের চারপাশে কাজ করে 80% বাইটের ক্রম ব্যয় করতে হয়েছিল।

কাজের জন্য ভুল সরঞ্জাম কিন্ডা ....

গ্রাফিকের আকার এবং দিক অনুপাতের গ্যারান্টি দেওয়ার কোনও কম ভারবস উপায় আমি বিএমপি কনস্ট্রাক্টর এবং তারপরে ডিভ.অফ () কে কল করার চেয়ে খুঁজে পাই না। সংমিশ্রণটি 25 বাইটের জন্য। যদি আপনার আর সেশনটি সঠিকভাবে সেট আপ করা থাকে তবে আপনি এমন একটি গ্রাফিক পেতে পারেন যা সেই বাইটগুলি ব্যয় না করে কম-বেশি সঠিক দেখাচ্ছে তবে এটি নির্ভরযোগ্য বা সামঞ্জস্যপূর্ণ নয়।


1
কয়েকটি পরামর্শ: আপনার ডেটা ফ্রেমটি bএকেবারে সংজ্ঞায়িত করবেন না , কেবলমাত্র দুটি ভেক্টরকে বেনামে সরাসরি plotফাংশনে রেখে দিন। এবং c(l,3)জন্য ব্যবহার করুন । আপনি কেবল মিথ্যা জন্য ব্যবহার করতে পারেন , এটি সংজ্ঞায়িত করার দরকার নেই। এবং একটি নতুন ফাংশন সংজ্ঞায়িত করুন যা কল করে কিন্তু লেবেল, টেক ইত্যাদির জন্য ডিফল্ট মান রয়েছে যাতে আপনার সেগুলি দুটিবার নির্দিষ্ট করার প্রয়োজন হয় না। xaxpyaxpFa(x,...)axis(x)
ব্যবহারকারী 2390246

আপনি axes=Fবরং ব্যবহার করতে পারেন xaxt='n',yaxt='n'। এবং আপনি পরে সেই কৌশলটি ব্যবহার করেছিলেন যদিও আপনি .5সংজ্ঞা দেওয়ার সময় ব্যবহার করতে ভুলে গিয়েছিলেন l
ব্যবহারকারী 2390246

1
প্রকৃতপক্ষে, যদি আপনি সমস্ত pesky .5এর পুরোপুরি পরিত্রাণের জন্য সমস্ত সমন্বয় মানকে দ্বিগুণ করেন ?
ব্যবহারকারী 2390246

1
আপনি যদি ইতিমধ্যে .bmpফাইল এক্সটেনশানটি বন্ধ করে দিতে চান তবে আপনি সম্ভবত ফাইলটির নাম দিন r
এমডি এক্সএফ

@ ব্যবহারকারী 2390246 - পরামর্শগুলির জন্য অনেক ধন্যবাদ। ক্রমশ 70 টি বাইটের ক্রমে সংরক্ষণ করা হয়েছে। আর-তে গল্ফ করার এটাই আমার প্রথম প্রচেষ্টা ছিল এবং আপনি টাইরোর অনেকগুলি ত্রুটি দেখতে পেয়েছিলেন যা আমার সম্ভবত দেখা উচিত ছিল। পরের বার আমি আরও ভাল জানি।
সিসিবি 60

3

টিআই-বেসিক, 218 140 137 বাইট

দ্রষ্টব্য: এই বাইট গণনাটি কিছুটা স্ফীত। প্রোগ্রামটিতে কেবল 85 টি টোকেন ব্যবহার করা হয়েছে তবে এটি 137 বাইটে সংরক্ষণ করা হয়েছে। এছাড়াও, আপনি যদি নন-কালার ক্যালকুলেটর ব্যবহার করছেন তবে আপনি আরও 4 টি টোকেন সংরক্ষণ করতে পারেন কারণ আপনাকে রঙ নির্দিষ্ট করতে হবে না (যা ডিফল্টরূপে নীল), তবে আমি জানি না যে তাদের পর্দা যথেষ্ট পরিমাণে বড় কিনা if এই চ্যালেঞ্জ কারণ আমি এক নিজস্ব না।

prgmHACKER (138 বাইট, 86 টোকেন):

{0,1,2,1,2}→L1
{0,0,0,2,1}→L2
.3→R
For(I,0,5
L₁(I)+.5→A
L₂(I)+.5→B
For(N,0,R,dX
√(R²-N²
Line(A+N,B-Ans,A+N,B+Ans,BLACK
Line(A-N,B-Ans,A-N,B+Ans,BLACK
End
End

যথাযথ প্রদর্শনের জন্য, এই প্রোগ্রামটির দরকার যে Xmin = Ymin = 0, Xmax = Ymax = 3, Xscl = Yscl = 1. dX এছাড়াও সঠিকভাবে সেট করা দরকার, তবে আপনি যখন অন্য কোনও উইন্ডো ভেরিয়েবল সেট করেন তখন ক্যালকুলেটরটি তা আপনার জন্য করে। এই ভেরিয়েবলগুলি র‌্যামে কত স্পেস ব্যবহার করেছে তা আমি দেখতে পেলাম না।

তদ্ব্যতীত, বিন্যাস সেটিংসটি ect রেক্টজিসি, কর্ডঅফ, গ্রিডলাইন, গ্রিডকলার: মিডগ্রায়, অক্ষ: অফ, অফারফ, সীমানা রঙ: 1, পটভূমি: বন্ধ} তবে এগুলি টোগল করা মান এবং সেটিংটির উপর নির্ভর করে কোনও অতিরিক্ত স্থান গ্রহন করে না।


তালিকাটি গল্ফ করতে আপনি এগুলি হিসাবে প্রকাশ করতে {0,1,2,1,2}এবং {0,0,0,2,1}তারপরে 0.5প্রতিটি আইটেম যুক্ত করতে পারেন ।
wizzwizz4

চেষ্টা করেছিলেন, তবে এটি তালিকাগুলির দ্বারা ব্যবহৃত র্যামের পরিমাণ পরিবর্তন করে নি। যাইহোক, আপনি আমাকে র্যামের তালিকাগুলি থেকে মুক্তি পেতে এবং প্রোগ্রামটি চলাকালীন এটিকে সংজ্ঞায়িত করার ধারণাটি দিয়েছিলেন, র‌্যামে 78 বাইট সংরক্ষণ করে saving
latias1290

গল্ফের লোকদের অর্ডার! পরিবর্তন করুন L1এবং L2করার L₁এবং L₂, যেহেতু আপনি ইতিমধ্যে তাদেরকে ব্যবহার করো। আমি মনে করি আপনি }এবং L₁(I)+.5→A=> .5+L₁(Iএবং L₂(I)+.5→B=> সরাতে পারেন .5+L₂(I→B
জাকারিয়া

3

আর, 119 114 111 বাইট

( আমাকে 3 বাইট বাঁচানোর জন্য @ জাইসি'র পক্ষ থেকে ধন্যবাদ )

অন্যান্য আর সমাধানের চেয়ে কম নয় , তবে সম্পূর্ণ ভিন্ন পদ্ধতির:

layout(matrix(c(1,9,2:8),3,,T))
par(mar=0*1:4)
for(i in 1:9){frame();if(i>4)points(.5,.5,,19,cex=29);box(fg=8)}

একটি লেআউট ব্যবহার করুন যাতে 4 টি প্রথম প্লটগুলি খালি ঘর এবং 5 টিতে বিন্দুযুক্ত।

এনজির্নহীন বিমান


অবস্থানগত আর্গুমেন্টগুলি ব্যবহার করে কি আমি অন্যান্য সমাধানের চেয়ে ছোট করে
তুলতে পারি

@ জয়সি সত্যই, ধন্যবাদ!
প্ল্যানাপাস

3

এক্সেল ভিবিএ, 180 বাইট

একটি বেনামে ভিবিই ইমিডিয়েট উইন্ডো ফাংশন যা কোনও ইনপুট নেয় না এবং ডিফল্ট ওয়ার্কশিট অবজেক্টে (আউটপুট Sheet1) দেয়।

Cells.RowHeight=48:Cells.Interior.Color=-1:[B2:D4].Borders.Color=7434613:For Each s In[{21,32,13,23,33}]:Sheet1.Shapes.AddShape(9,48*(s\10)+4,Mid(s,2)*48+4,40,40).ShapeStyle=8:Next

মন্তব্য করা সংস্করণ

Cells.RowHeight=48                      ''  Make the Cells square
Cells.Interior.Color=-1                 ''  Remove the default grid
[B2:D4].Borders.Color=7434613           ''  Create the 3x3 gray grid at range `B2:D4`
For Each s In [{21,32,13,23,33}]        ''  Assign and iterate over a list of where
                                        ''  to place the dots; This list is a range that 
                                        ''  is coerced into a numeric array

    Sheet1.Shapes.AddShape(         _   ''  Add a shape to the Sheet1 object
                9,                  _   ''  An Oval (msoShapeOval)
                48*(s\10)+4,        _   ''  At the calculated value from the left
                Mid(s,2)*48+4,      _   ''  At the calculated value from the top
                40,                 _   ''  that is 40 units wide
                40                  _   ''  and is 40 units tall
                ).ShapeStyle=8          ''  and is black filled with a black outline

Next                                    ''  repeat to end of list

আউটপুট

হ্যাকার লোগো

[{21,32,13,23,33}]ওভার ব্যবহারের জন্য -6 বাইটSplit("21 32 13 23 33")

Mid(s,2)ওভার ব্যবহারের জন্য -2 বাইটRight(s,1)

(s\10)ওভার ব্যবহারের জন্য -3 বাইটLeft(s,1)


2

অষ্টাভ 107 94 103 বাইট

scatter([1:3,3,2],[1,1,1:3],1e5,zeros(5,3),'.');axis off;a=[1,7]/2;for i=.5:3.5;line(a,i);line(i,a);end

অথবা

plot([1:3,3,2],[1,1,1:3],'k.','markersize',250);axis off;a=[1,7]/2;for i=.5:3.5;line(a,i);line(i,a);end

উভয় সমাধান 103 বাইট হয়।


2
আমি বিশ্বাস করি যে বিন্দুগুলি কালো হতে হবে
TheLethalCoder

আহ, আকর্ষণীয়, মতলব কোনও স্কেলারকে সম্প্রচারের বিপরীতে ব্যাখ্যা করে point তার পরিবর্তে line([x1,x2],y)আপনার যা করতে হবেline([x1,x2],[y,y])
তাসোস পাপাস্টাইলিয়ানু

2

অ্যাপল সুইফ্ট (আইওএস - কোরগ্রাফিক্স / কোয়ার্টজকোর) - 832 বাইট

আমি কোনও অ্যাপল আইওএস ডিভাইসের জন্য কোয়ার্টজ ব্যবহার করে পুরো আকারটি আঁকলাম। দুর্ভাগ্যক্রমে এটি একটি বিশেষ আকারের মায়াময়ী ভাষা নয় ফলে ফলাফলটি বেশ বড়, তবে এটি যতটা ছোট আমি তা পেতে পারি।

UIGraphicsBeginImageContext(CGSize(width:60,height:60));let c=UIGraphicsGetCurrentContext()!;UIColor.lightGray.setStroke();c.addRect(CGRect(x:0,y:0,width:60,height:60));c.move(to: CGPoint(x:20,y:0));c.addLine(to: CGPoint(x:20,y:60));c.move(to: CGPoint(x:40,y:0));c.addLine(to: CGPoint(x:40,y:60));c.move(to: CGPoint(x:0,y:20));c.addLine(to: CGPoint(x:60,y:20));c.move(to: CGPoint(x:0,y:40));c.addLine(to: CGPoint(x:60, y:40));c.strokePath();UIColor.black.setFill();c.addEllipse(in:CGRect(x:22,y:2,width:16,height:16));c.addEllipse(in:CGRect(x:42,y:22,width:16,height:16));c.addEllipse(in:CGRect(x:2,y:42,width:16,height:16));c.addEllipse(in:CGRect(x:22,y:42,width:16,height:16));c.addEllipse(in:CGRect(x:42,y:42,width:16,height:16));c.fillPath();let i=UIGraphicsGetImageFromCurrentImageContext();sub.addSubview(UIImageView(image:i))

আগ্রহী যে কারও জন্য আরও পঠনযোগ্য সংস্করণ:

    UIGraphicsBeginImageContext(CGSize(width: 60, height: 60))
    let c = UIGraphicsGetCurrentContext()!

    UIColor.lightGray.setStroke()
    c.addRect(CGRect(x: 0, y: 0, width: 60, height: 60))
    c.move(to: CGPoint(x: 20, y: 0))
    c.addLine(to: CGPoint(x: 20, y: 60))
    c.move(to: CGPoint(x: 40, y: 0))
    c.addLine(to: CGPoint(x: 40, y: 60))
    c.move(to: CGPoint(x: 0, y: 20))
    c.addLine(to: CGPoint(x: 60, y: 20))
    c.move(to: CGPoint(x: 0, y: 40))
    c.addLine(to: CGPoint(x: 60, y: 40))
    c.strokePath()

    UIColor.black.setFill()
    c.addEllipse(in: CGRect(x: 22, y: 2, width: 16, height: 16))
    c.addEllipse(in: CGRect(x: 42, y: 22, width: 16, height: 16))
    c.addEllipse(in: CGRect(x: 2, y: 42, width: 16, height: 16))
    c.addEllipse(in: CGRect(x: 22, y: 42, width: 16, height: 16))
    c.addEllipse(in: CGRect(x: 42, y: 42, width: 16, height: 16))
    c.fillPath()

    let i = UIGraphicsGetImageFromCurrentImageContext()
    sub.addSubview(UIImageView(image: i))

আইওএস সিমুলেটারে উত্পাদিত আউটপুট এখানে: আউটপুট



2

এসভিজি + এইচটিএমএল, 146 138 135 133 বাইট

<svg>
<path fill=none stroke=#ccc d=m.5.5h30v30h-30zh10v30h10v-30zv10h30v10h-30 />
<path d=m11,1h9v9m1,1h9v9m-29,1h9v9m1-9h9v9m1-9h9v9>

লেন্সিয়েন্ট এইচটিএমএল পার্সারকে ধন্যবাদ, xmlns="http://www.w3.org/2000/svg"ঘোষণাটি বাদ দেওয়া যেতে পারে, পাশাপাশি অ্যাট্রিবিউট কোট এবং ক্লোজিং ট্যাগ। এই সংস্করণটি অন্যান্য এইচটিএমএল সমাধানগুলির কিছু সমস্যা সম্বোধন করে:

  • একটি "বিন্দু" তার ঘরের কমপক্ষে 40% পূরণের গ্যারান্টিযুক্ত ()1)
  • এটি বাহ্যিক গ্রাফিক্স ব্যবহার করে না, যেমন ফন্ট গ্লাইফস ((2, §6)
  • গ্রিড পুরোপুরি বর্গক্ষেত্র (§5)

সাব-প্যাথগুলি পূরণ করার জন্য বন্ধ করতে হবে না এই সত্যটি কাজে লাগিয়ে 8 টি বাইট বন্ধ সম্পাদনা করুন

সম্পাদনা এসভিজি ব্যাকরণ অনুসারে , কমা ( .5,.5) দিয়ে অ-অঙ্কগুলি পৃথক করার প্রয়োজন হয় না । আমি স্পষ্টত পূরণটিও ত্যাগ করেছি, যাতে আমি কোনও ড্যাশ সাশ্রয় করে একটি লাইনের অঙ্কিত দিকটি নেতিবাচক থেকে ধনাত্মক করে তুলতে পারি। এবং সর্বশেষে, আমি গণনাটি সামঞ্জস্য করেছি একটি অনুবর্তনযোগ্য নতুন লাইন অন্তর্ভুক্ত না করার জন্য, এই রুকি ভুলের জন্য দুঃখিত।

সম্পাদনা করুন কাছ থেকে শেখা অন্য উত্তর codegolf উপর, আমি চূড়ান্ত প্রতিস্থাপিত আছে 9 />সঙ্গে 9>। এটি সমস্ত পরীক্ষিত ব্রাউজারগুলিতে দুর্দান্ত কাজ করে।


2

পাইথন 3 + পাইগেম, 238 বাইট

from pygame import*
d=display
s=d.set_mode([55]*2)
s.fill([255]*3)
f=lambda*a:draw.line(s,[128]*3,*a)
for x in[0,18,36,54]:
 f((x,0),(x,55));f((0,x),(55,x))
for x,y in zip([3,5,1,3,5],[1,3,5,5,5]):draw.circle(s,[0]*3,(x*9,y*9),7)
d.flip()

আপাতদৃষ্টিতে স্বেচ্ছাচারী ধ্রুবকরা আমার কাছ থেকে বাইটগুলি ত্যাগ না করে চিত্রটিকে যথাসম্ভব বৃহত করার চেষ্টা করছেন।

মুদ্রণবিহীন অক্ষরের সাথে, 229 বাইট

from pygame import*
d=display
s=d.set_mode([55]*2)
s.fill([255]*3)
f=lambda*a:draw.line(s,[128]*3,*a)
for x in b'\0␒$6':
 f((x,0),(x,55));f((0,x),(55,x))
for x,y in zip(b'␃␅␁␃␅',b'␁␃␅␅␅'):draw.circle(s,[0]*3,(x*9,y*9),7)
d.flip()

আমি তালিকাগুলি বাইট আক্ষরিক দিয়ে প্রতিস্থাপন করেছি, যা একগুচ্ছ অক্ষর সাশ্রয় করে তবে মুদ্রণবিহীন অক্ষরগুলি এখানে সঠিকভাবে প্রদর্শিত হতে পারে না। আমি মুদ্রণ-বিহীন অক্ষরগুলি তাদের গ্রাফিকাল সমতুল্য U + 2400-U + 2421 এর সাথে প্রদর্শনের উদ্দেশ্যে প্রতিস্থাপন করেছি।

স্ক্রিনশট

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.