প্রতিটি ভাষায় ম্যান্ডেলব্রোট চিত্র


91

আমি যে কোনও গ্রাফিকাল অ্যাপ্লিকেশনটিতে হাত পেলাম আমি হ্যালো ওয়ার্ল্ডের 'গ্রাফিকাল' সংস্করণ হিসাবে সর্বদা একটি ম্যান্ডেলব্রোট চিত্র ব্যবহার করি। এখন আপনার ছেলেদের পালা।

  • ভাষা অবশ্যই গ্রাফিকাল আউটপুট বা অঙ্কন চার্টে সক্ষম হতে হবে (ফাইলগুলি সংরক্ষণের অনুমতি নেই)
  • একটি বর্গাকার চিত্র বা গ্রাফ রেন্ডার করুন। কমপক্ষে 128 আকার এবং সর্বাধিক 640 * জুড়ে
  • ফ্র্যাক্টাল স্থানাঙ্কগুলি প্রায় -2-2i থেকে 2 + 2i অবধি
  • ম্যান্ডেলব্রোট সেটের বাইরের পিক্সেলগুলি দ্রাঘিমাংশ 2 ছাড়িয়ে যাওয়ার আগে পুনরাবৃত্তির সংখ্যা অনুযায়ী রঙ করা উচিত (* কালো এবং সাদা বাদে)
  • প্রতিটি পুনরাবৃত্তি গণনার অবশ্যই একটি অনন্য রঙ * থাকতে হবে এবং প্রতিবেশী রঙগুলি অবশ্যই চোখের দ্বারা সহজেই পৃথকযোগ্য হওয়া উচিত
  • অন্যান্য পিক্সেল (সম্ভবত ম্যান্ডেলব্রোট সেটের অভ্যন্তরে) অবশ্যই কালো বা সাদা রঙিন হওয়া উচিত
  • কমপক্ষে 99 টি পুনরাবৃত্তি
  • এএসসিআইআই আর্টের অনুমতি নেই

* প্ল্যাটফর্মের দ্বারা সীমাবদ্ধ না থাকলে যেমন গ্রাফিক্যাল ক্যালকুলেটর

অনুমোদিত:
মঞ্জুরিপ্রাপ্ত
অননুমোদিত:
প্রত্যাখ্যাত
(কাঁচুমাচু চিত্র)

জয়ের শর্ত:

প্রতিটি ভাষার জন্য সংক্ষিপ্ততম সংস্করণ (বাইট আকারে) আকার অনুসারে এই পোস্টে একটি উল্লেখ পাবে get
বোতামটি দিয়ে কোনও উত্তর কখনই 'গৃহীত' হবে না।

লিডারবোর্ড:


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

1
সম্পর্কিত: এএসসিআইআই ম্যান্ডেলব্রোট (যদিও পোস্ট করা কিছু উত্তর ASCII নয় এবং সম্ভবত এই প্রশ্নের উত্তর হিসাবে আরও ভাল ফিট করতে পারে)।
পিটার টেলর

3
আমি কয়েক জনকে এখন উল্লেখ করে দেখেছি যে তারা ম্যান্ডেলব্রোটকে একটি "হ্যালো ওয়ার্ল্ড" হিসাবে উপস্থাপন করে। আমিও 30 বছরের মতো কিছু করেছি। ম্যান্ডেলব্রট হ'ল হ্যালো ওয়ার্ল্ড "কারণ এটি উভয়ই দেখায় যে আপনার কাছে ডিসপ্লেতে পিক্সেল অ্যাক্সেস রয়েছে এবং নতুন প্ল্যাটফর্মে কম্পিউট বাউন্ড পারফরম্যান্সের জন্য একটি ভাল অনুভূতি দেয়।
রজার ডাহল

6
এমন একটি প্রশ্ন জিজ্ঞাসা করার জন্য দুর্দান্ত ধারণা যা গাণিতিক এবং নান্দনিক সংবেদনশীলতার সংমিশ্রণ প্রয়োজন, তারপরে সমস্ত নকশার সিদ্ধান্তগুলি আগেই চাপিয়ে দিন।
jwg

3
যে কেউ ব্রেইনফাক উইনসকে একটিতে পরিচালনা করতে পারে, আমি বলব: ডি
ম্যাডটাক্স

উত্তর:


94

শার্প EL-9300 গ্রাফিক্স ক্যালকুলেটর, 296 বাইট

এটি আমার মাধ্যমিক বিদ্যালয়ের গ্রাফিং ক্যালকুলেটর ছিল , 20 বছর আগে থেকে চালু! আমার মনে আছে এর আগে ম্যান্ডেলব্রোট জেনারেটর লেখা ছিল। এবং যথেষ্ট নিশ্চিত, এটি এখনও এনভি স্মৃতিতে বসে আছে:

ClrG
DispG
Range -2.35,2.35,.5,-1.55,1.55,0.5
y=-1.55
Label ly
x=-2.35
Label lx
n=1
zx=0
zy=0
Label ln
tzx=zx²-zy²+x
zy=(2*zx*zy)+y
zx=tzx
If zx²+zy²>4Goto esc
n=n+1
If n<20Goto ln
Label esc
If fpart (n/2)=0Goto npl
Plot x,y
Label npl
x=x+.05
If x<=2.35Goto lx
y=y+.05
If y<=1.55Goto ly
Wait

রেন্ডার করতে প্রায় 90 মিনিট সময় লেগেছে।

এটি পুরোপুরি উদার আমি নিশ্চিত যে আমি কিছুটা জায়গা বাঁচাতে পারব, তবে আমি এই historicalতিহাসিক কৌতূহলটি কেবল ভাগ করে নিতে চেয়েছি!

আমি ভালবাসি যে উপলব্ধ একমাত্র নিয়ন্ত্রণ বিবৃতি gotoগুলি।

এখানে একটি ফটো। গ্রাফিকাল আউটপুট আউট করার জন্য আমার কাছে অন্য কোনও উপায় নেই: এখানে চিত্র বর্ণনা লিখুন


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

2
zx²+zy²>4তা হতে পারে না Abs(x)>2?
মার্ক জেরোনিমাস

1
হতে পারে আপনার একটি নতুন ব্যাটারি পাওয়া উচিত ...
NothingsImp ممڪن

25
মজাদার. সুতরাং আপনি বেশ কিছু সময়ের জন্য অস্থির হয়ে গেছেন
ডেভনুল

4
চমৎকার "স্ক্রিনশট"
meawoppl

83

আমি অন্য দিনটি পেরিয়ে এসেছি। আমি এর জন্য কৃতিত্ব নিই না, তবে অভিশাপ, এটি কি দুর্দান্ত:

পাইথন 2:

_                                      =   (
                                        255,
                                      lambda
                               V       ,B,c
                             :c   and Y(V*V+B,B,  c
                               -1)if(abs(V)<6)else
               (              2+c-4*abs(V)**-0.4)/i
                 )  ;v,      x=1500,1000;C=range(v*x
                  );import  struct;P=struct.pack;M,\
            j  ='<QIIHHHH',open('M.bmp','wb').write
for X in j('BM'+P(M,v*x*3+26,26,12,v,x,1,24))or C:
            i  ,Y=_;j(P('BBB',*(lambda T:(T*80+T**9
                  *i-950*T  **99,T*70-880*T**18+701*
                 T  **9     ,T*i**(1-T**45*2)))(sum(
               [              Y(0,(A%3/3.+X%v+(X/v+
                               A/3/3.-x/2)/1j)*2.5
                             /x   -2.7,i)**2 for  \
                               A       in C
                                      [:9]])
                                        /9)
                                       )   )

এখানে চিত্র বর্ণনা লিখুন http://preshing.com/20110926/high-resolution-mandelbrot-in-obfuscated-python/


12
প্রত্যাখাত বলে মনে হচ্ছে: অঞ্চলগুলি সহজেই পার্থক্যযোগ্য নয় বা এমনকি মোটেও নয়।
প্রিমো

5
এছাড়াও, এটি একটি ফাইল লিখতে।
মিথ্যা রায়ান

40
অস্বীকার করা হয়েছে বা না, এটি বেশ দুর্দান্ত: ডি
নবীন

18
@ ডিজিটালট্রামা, হ্যাক, সবচেয়ে সুন্দর ইনপুট জন্য +1!
ব্রায়ান এস

19
এই একটি quine হিসাবে গণনা? ;-)
ব্লেজমোনজার

47

ল্যাটেক্স, 673 বাইট

\countdef\!1\!129\documentclass{article}\usepackage[margin=0pt,papersize=\!bp]{geometry}\usepackage{xcolor,pgf}\topskip0pt\offinterlineskip\def~{99}\let\rangeHsb~\countdef\c2\countdef\d3\countdef\e4\begin{document}\let\a\advance\let\p\pgfmathsetmacro\makeatletter\def\x#1#2#3{#10
\@whilenum#1<#2\do{#3\a#11}}\d0\x\c{\numexpr~+1}{\expandafter\edef\csname\the\c\endcsname{\hbox{\noexpand\color[Hsb]{\the\d,1,1}\/}}\a\d23
\ifnum\d>~\a\d-~\fi}\def\/{\rule{1bp}{1bp}}\x\c\!{\hbox{\x\d\!{\p\k{4*\d/(\!-1)-2}\p\K{2-4*\c/(\!-1)}\def\z{0}\def\Z{0}\x\e~{\p\:{\z*\z-\Z*\Z+\k}\p\Z{2*\z*\Z+\K}\let\z\:\p\:{\z*\z+\Z*\Z}\ifdim\:pt>4pt\csname\the\e\endcsname\e~\fi}\ifnum\e=~\/\fi}}}\stop

129x129 ফলাফল (129 × 129)

পিডিএফ চিত্রটিতে 1bp × 1bp আকারের রঙিন বর্গাকার ইউনিট রয়েছে।

Ungolfed

% count register \size contains the width and height of the square
\countdef\size=1
\size=31
\documentclass{article}
\usepackage[margin=0pt,papersize=\size bp]{geometry}
\usepackage{xcolor,pgf}
\topskip0pt
\offinterlineskip
\def\iterations{99}
\let\rangeHsb\iterations
\countdef\c2
\countdef\d3
\countdef\e4
\begin{document}
\let\p\pgfmathsetmacro
\makeatletter
% \Loop: for (#1 = 0; #1 < #2; #1++) {#3}
\def\Loop#1#2#3{%
  #1=0
  \@whilenum#1<#2\do{#3\advance#11}%
}
\d0%
\Loop\c{\numexpr\iterations+1\relax}{%
  \expandafter\edef\csname\the\c\endcsname{%
    \hbox{\noexpand\color[Hsb]{\the\d,1,1}\noexpand\pixel}%
  }%
  \advance\d23 \ifnum\d>\iterations\advance\d-\iterations\fi
}
\def\pixel{\rule{1bp}{1bp}}
% \c: row
% \d: column
% \e: iteration
\Loop\c\size{%
  \typeout{c: \the\c}%
  \hbox{%
    \Loop\d\size{%
      \pgfmathsetmacro\k@re{4*\d/(\size-1)-2}%
      \pgfmathsetmacro\K@im{2-4*\c/(\size-1)}%
      \def\z@re{0}%
      \def\Z@im{0}%
      \Loop\e\iterations{%
         % calculate z(n+1) = z^2(n) + k
         \pgfmathsetmacro\temp{\z@re*\z@re-\Z@im*\Z@im+\k@re}%
         \pgfmathsetmacro\Z@im{2*\z@re*\Z@im+\K@im}%
         \let\z@re\temp
         % calculate abs(z)^2
         \pgfmathsetmacro\temp{\z@re*\z@re+\Z@im*\Z@im}%
         \ifdim\temp pt>4pt\csname\the\e\endcsname\e\iterations\fi
      }%   
      \ifnum\e=\iterations\pixel\fi
    }%
  }%
}
\stop

36

x86 ডস সমাবেশ, 208 177 173 বাইট

এইচএক্স-এর সম্পূর্ণ বাইনারি, যা আমি হাতে তৈরি করেছি:

DBE3BE00A0B81300CD1056BA640007BF87F9FDBDC7008BCDE81A008AC3AA4979F7B9C70083EF784D79EE33C0CD16B80300CD10CD208BC12BC289441CDF441CDF06A701DEF9D95C088BC52BC289441CDF441CDF06A701DEF9D95C0CD9EED914D95404D95410D95C14B301D904D84C04DE0EA901D8440CD95404D94410D86414D84408D914D80CD95C10D84C04D95414D84410DF06AB01DED99BDFE09B9E7207433ADA72C632DBC3320002000400

নমুনা চিত্রটি হ'ল:

ম্যান্ডলেব্রোট স্ক্রিন শট কালো ক্রপ করা সঙ্গে

পঠনযোগ্য এএসএম-এর সম্পূর্ণ উত্সটি বেশ দীর্ঘ (আমি কীভাবে এই স্তন্যপায়ীকে কোডিং করছি তা বোঝার জন্য আমি এটি ব্যবহার করেছি):

.286
CODE SEGMENT
ASSUME CS:code, DS:code
ORG 0100h

; *****************************************************************************
start:
  ; Mandlebrot coordinates
  zr   = DWORD PTR [SI+0]
  zi   = DWORD PTR [SI+4]
  cr   = DWORD PTR [SI+8]
  ci   = DWORD PTR [SI+12]
  zrsq = DWORD PTR [SI+16]
  zisq = DWORD PTR [SI+20]

  ; Temp int
  Temp = WORD PTR  [SI+28]

  ; ===========================================================================
  ; Initialize

  ; Initialize the FPU
  FNINIT

  ; SI points to our memory
  mov si, 0A000h ; So we can push it

  ; Shave off some bytes by reusing 100
  mov dx, 100

  ; Switch to MCGA
  mov ax, 013h
  int 010h

  ; ES:DI is the end of our drawing area
  push si
  pop es
  mov di, 63879
  std ; We're using stosb backwards

  ; Initialize our X and Y
  mov bp, 199
  mov cx, bp


  ; ===========================================================================
  ; Main draw loop

MainLoop:
  ; Get our next mandelbrot value
  call GMV

  ; Store it
  mov al, bl
  stosb

  ; Decrement our X
  dec cx
  jns MainLoop

  ; Decrement our Y
  mov cx, 199
  sub di, 120
  dec bp
  jns MainLoop


  ; ===========================================================================
  ; Done

  ; Wait for a key press
  xor ax, ax
  int 016h

  ; Change back to text mode
  mov ax, 3
  int 010h

  ; Exit to DOS
  int 020h



; *****************************************************************************
; GMV: Get Mandelbrot Value
; Gets the value for the next Mandelbrot pixel
; Returns:
;   BL - The color to use
GMV:
  ; ===========================================================================
  ; Initialize

  ; cr = (x - 100) / 50;
  mov ax, cx
  sub ax, dx                  ; \
  mov Temp, ax                ;  > ST0 = Current X - 100
  FILD Temp                   ; /
  FILD Divisor                ; ST0 = 50, ST1 = Current X - 100
  FDIVP                       ; ST0 = (Current X - 100) / 50
  FSTP cr                     ; Store the result in cr

  ; ci = (y - 100) / 50;
  mov ax, bp
  sub ax, dx                  ; \
  mov Temp, ax                ;  > ST0 = Current Y - 100
  FILD Temp                   ; /
  FILD Divisor                ; ST0 = 50, ST1 = Current Y - 100
  FDIVP                       ; ST0 = (Current Y - 100) / 50
  FSTP ci                     ; Store the result in ci

  ; zr = zi = zrsq = zisq = 0;
  FLDZ
  FST zr
  FST zi
  FST zrsq
  FSTP zisq

  ; numiteration = 1;
  mov bl, 1

  ; ===========================================================================
  ; Our main loop

  ; do {
GMVLoop:

  ; zi = 2 * zr * zi + ci;
  FLD zr
  FMUL zi
  FIMUL TwoValue
  FADD ci
  FST zi ; Reusing this later

  ; zr = zrsq - zisq + cr;
  FLD zrsq
  FSUB zisq
  FADD cr
  FST zr ; Reusing this since it already is zr

  ; zrsq = zr * zr;
  ;FLD zr ; Reused from above
  FMUL zr
  FSTP zrsq

  ; zisq = zi * zi;
  ;FLD zi ; Reused from above
  FMUL zi
  FST zisq ; Reusing this for our comparison

  ; if ((zrsq + zisq) < 4)
  ;   return numiteration;
  FADD zrsq
  FILD FourValue
  FCOMPP
  FSTSW ax
  FWAIT
  sahf
  jb GMVDone

  ;} while (numiteration++ < 200);
  inc bx
  cmp bl, dl
  jb GMVLoop

  ;return 0;
  xor bl, bl

GMVDone:  
  ret
;GMV



; *****************************************************************************
; Data

; Divisor
Divisor DW 50
; Two Value
TwoValue DW 2
; 4 Value
FourValue DW 4

CODE ENDS
END start

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

সম্পাদনা: এটি অপ্টিমাইজড, এখন এটি পিছনের দিকে টানা (যদিও একই চিত্র), এবং 31 বাইট সংরক্ষণ করেছে!

সম্পাদনা 2: ওপিকে আশ্বাস দেওয়ার জন্য, আমি বাইনারি হাতে নিয়ে আবার তৈরি করেছি। এটি করে, আমি আরও 4 বাইট বন্ধ শেভ করেছিলাম। আমি প্রক্রিয়াটির প্রতিটি পদক্ষেপ নথিভুক্ত করেছি, আমার সমস্ত কাজ দেখিয়েছি যাতে কেউ যদি সত্যিই এখানে যেতে চায় তবে তারা অনুসরণ করতে পারে, এখানে (সতর্কতা, এটি বিরক্তিকর এবং খুব দীর্ঘ): http://lightning.memso.com/media/perm/ mandelbrot2.txt

আমি এডিটপ্যাডপ্রোতে একটি দম্পতি রেইগেক্স ব্যবহার করেছি, যাতে ; Final: ...ফাইলের সমস্ত এন্ট্রি সন্ধান করতে এবং তাদের একটি .কম ফাইলে হেক্স বাইনারি হিসাবে ডাম্প করতে হয়। ফলাফলটি বাইনারি হ'ল আপনি এই পোস্টের শীর্ষে যা দেখছেন।


1
মেশিন-কোড গণনা করে না। যদি তা গণনা করা হয়, তবে বাইট-কোড বা মেশিন-কোড তৈরির যে কোনও ভাষা সংক্ষিপ্ত হওয়া উচিত। আমি 1-চরিত্রের দীর্ঘ নামগুলিতে সমস্ত কিছু পরিবর্তন করে 820 গণনা করছি।
মার্ক জেরোনিমাস

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

5
না। আমি সত্যই প্রয়োজনে বাইনারি এএসএম রূপান্তর করতে পারেন। এটি আমার সমবেতকারী সাহায্য করেছিল ঠিক একই 177 বাইট নিয়ে বেরিয়ে আসবে। ফলস্বরূপ কোডটি বাইনারি সম্পাদক সহ যে কোনও দ্বারা একটি নতুন ফাইলে আটকানো যায়, সংরক্ষণ করা হয়, 177 বাইট হয় এবং এটি প্রত্যাশার মতো কাজ করবে। স্পষ্টতই এএসএম সাবমিশনের
মার্ক

6
ঠিক আছে, সুতরাং, এটি একটি বৈধ এন্ট্রি প্রমাণ করার জন্য, আমি এটি বাইনারি অনুবাদ করতে সময় নিতে সময় ব্যয় করেছে। আমি আমার উত্তর অনুসারে আপডেট করেছি।
মার্ক অর্মস্টন

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

28

জাভা, 505 405 324 বাইট

অতিরিক্ত গলফিউডের সাথে এখন গল্ফিউডের সাথে একটি স্ট্যান্ডার্ড গণনা ।

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

Golfed:

import java.awt.*;class M{public static void main(String[]v){new Frame(){public void paint(Graphics g){for(int t,s,n=640,i=n*n;--i>0;g.setColor(new Color(s*820)),g.drawLine(i/n,i%n+28,i/n,i%n),setSize(n,668)){float c=4f/n,a=c*i/n-2,b=i%n*c-2,r=a,e=b,p;for(s=t=99;t-->0&&r*r+e*e<4;s=t,p=r*r-e*e+a,e=r*e*2+b,r=p);}}}.show();}}

লাইন বিরতি সহ:

import java.awt.*;
class M{
    public static void main(String[]v){
        new Frame(){
            public void paint(Graphics g){
                for(int t,s,n=640,i=n*n;--i>0;g.setColor(new Color(s*820)),g.drawLine(i/n,i%n+28,i/n,i%n),setSize(n,668)){
                    float c=4f/n,a=c*i/n-2,b=i%n*c-2,r=a,e=b,p;
                    for(s=t=99;t-->0&&r*r+e*e<4;s=t,p=r*r-e*e+a,e=r*e*2+b,r=p);
                }
            }
        }.show();
    }
}

f.setSize(n,668);- ব্যবহৃত থিমের উপর নির্ভর করে, তবে আমি এটি গ্রহণ করব it
মার্ক জেরোনিমাস

আপনি জাভাতে আমদানিগুলি ফেলে দিতে পারেন কারণ সে যাইহোক স্বয়ংক্রিয়ভাবে উত্পন্ন।
মার্ক জেরোনিমাস

আপনি যদি চেষ্টা করেন তবে doubleকোথায় floatব্যবহার করা যেতে পারে তাও আমি দেখতে পেয়েছি
মার্ক জেরোনিমাস

JFrame=> Frame2 টি অক্ষর ছাঁটাই যদিও আপনি উইন্ডোটি আর বন্ধ করতে পারবেন না। ;)
ইথানবি

2
আপনার শ্রেণীর পাবলিক হওয়ার দরকার নেই। আরও, জাভা 8 ব্যবহার করে finalপরিবর্তক থেকে মুক্তি পেতে পারেন । সম্পূর্ণ জমা দেওয়ার জন্য আপনাকে অবশ্যই আমদানি বাদ দিতে হবে না।
ভিক্টর স্টাফুসা

21

জাভাস্ক্রিপ্ট (ECMAScript 6) - 315 308 টি অক্ষর

document.body.appendChild(e=document.createElement("canvas"));v=e.getContext("2d");i=v.createImageData(e.width=e.height=n=600,n);j=0;k=i.data;f=r=>k[j++]=(n-c)*r%256;for(y=n;y--;)for(x=0;x++<n;){c=s=a=b=0;while(c++<n&&a*a+b*b<5){t=a*a-b*b;b=2*a*b+y*4/n-2;a=t+x*4/n-2}f(87);f(0);f(0);k[j++]=255}v.putImageData(i,0,0)

ডিফল্ট আউটপুট

(d=document).body.appendChild(e=d.createElement`canvas`);v=e.getContext`2d`;i=v.createImageData(e.width=e.height=n=600,n);j=0;k=i.data;f=r=>k[j++]=(n-c)*r%256;for(y=n;y--;)for(x=0;x++<n;){c=s=a=b=0;while(c++<n&&a*a+b*b<5){t=a*a-b*b;b=2*a*b+y*4/n-2;a=t+x*4/n-2}f(87);f(0);f(0);k[j++]=255}v.putImageData(i,0,0)

  • পরিবর্তন করুন nছবির আকার (এবং পুনরাবৃত্তিও সংখ্যা) তারতম্য।
  • f(87);f(0);f(0);আরজিবি বর্ণের মান পরিবর্তন করতে কলগুলিতে (শেষের দিকে) পাস করা মানগুলি পরিবর্তন করুন। ( f(8);f(8);f(8);গ্রেস্কেল হয়।)

সাথে f(8);f(23);f(87);:

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

(d=document).body.appendChild(e=d.createElement`canvas`);v=e.getContext`2d`;i=v.createImageData(e.width=e.height=n=600,n);j=0;k=i.data;f=r=>k[j++]=(n-c)*r%256;for(y=n;y--;)for(x=0;x++<n;){c=s=a=b=0;while(c++<n&&a*a+b*b<5){t=a*a-b*b;b=2*a*b+y*4/n-2;a=t+x*4/n-2}f(8);f(23);f(87);k[j++]=255}v.putImageData(i,0,0)


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

1
আপনি লিখতে document.createElement`canvas` এবং 2 বাইট সংরক্ষণ করতে পারেন । হিসাবে একই getContext`2d`
ইসমাইল মিগুয়েল

আমি একটি এইচটিএমএল ক্যানভাস ধরে নিই না কারণ এটি খাঁটি জাভাস্ক্রিপ্ট সমাধান।
এমটি 0


19

জে, 73 বাইট

load'viewmat'
(0,?$~99 3)viewmat+/2<|(j./~i:2j479)(+*:) ::(3:)"0^:(i.99)0

ম্যান্ডেলব্রোট সেট

কিছু সম্পাদনা করুন :

x (+*:) y           NB. is x + (y^2)
x (+*:) ::(3:) y    NB. returns 3 when (+*:) fails (NaNs)
j./~i:2j479         NB. a 480x480 table of complex numbers in required range
v =: (j./~i:2j479)(+*:) ::(3:)"0 ]     NB. (rewrite the above as one verb)
v z0                NB. one iteration of the mandelbrot operation (z0 = 0)
v v z0              NB. one iteration on top of the other
(v^:n) z0           NB. the result of the mandelbrot operation, after n iterations
i.99                NB. 0 1 2 3 4 ... 98
(v^:(i.99))0        NB. returns 99 tables, one for each number of iterations
2<| y               NB. returns 1 if 2 < norm(y), 0 otherwise
2<| (v^:(i.99))0    NB. 99 tables of 1s and 0s
+/...               NB. add the tables together, element by element.
NB. we now have one 480x480 table, representing how many times each element exceeded norm-2.
colors viewmat M    NB. draw table 'M' using 'colors'; 'colors' are rgb triplets for each level of 'M'.
$~99 3              NB. 99 triplets of the numbers 99,3
?$~99 3             NB. 99 random triplets in the range 0 - 98 and 0 - 2
0,?$~99 3           NB. prepend the triplet (0,0,0): black

1
+1 তবে কীভাবে আপনার কোডটি কাজ করে তার কিছুটা ব্যাখ্যা করা সম্ভব হবে? বিশেষত আমি জানতে আগ্রহী যে কীভাবে (কোডটিতে) এটি রঙগুলি বেছে নেয়?
প্লানাপাস

1
@ মার্ক জেরনিমাস, আমি এটি 70 টি তৈরি করতে পারি তবে আমি কিছু জিনিস স্পষ্টতার জন্য রেখেছি। আমি, সুতরাং, গণনার সময় এলএফটিকে উপেক্ষা করার স্বাধীনতা নিয়েছিলাম।
এলেভেক্স

@ প্ল্যানাপাস, ঠিক আছে, কিছু মন্তব্য যুক্ত করেছেন। রঙ বাছাই করা সম্পন্ন হয় (0,?$~99 3)যা 100 টি আরজিবি ট্রিপল্ট উত্পাদন করে, প্রতিটি স্তরের জন্য একটি করে। এলোমেলোতার কারণে আপনি হয়তো 100 টিরও কম ট্রিপল পেতে পারেন যাতে কিছু স্তরের একটি মসৃণ রূপান্তর হয় (তবে এখনও বিভিন্ন রঙ থাকে)।
ইলেভেক্স

17

গণিত, 214 191 215 19 30

সংস্করণ 10.0 থেকে একটি অন্তর্নির্মিত রয়েছে: (19 বাইট)

MandelbrotSetPlot[]

mandelbrot


স্থানাঙ্ক পরিসীমা প্রয়োজনীয়তা অনুসারে 11 টি অতিরিক্ত বাইট প্রয়োজন। (30 বাইট)

MandelbrotSetPlot@{-2-2I,2+2I}

মি 2


একটি হাত-ঘূর্ণিত কেস:

m=Compile[{{c,_Complex}},Length[FixedPointList[#^2+c&,0,99,SameTest→(Abs@#>=2&)]]];
ArrayPlot[Table[m[a+I b],{b,-2,2,.01},{a,-2,2,.01}],DataRange→{{-2,2},{-2,2}},
ColorRules→{100→Black},ColorFunction→(Hue[Log[34,#]]&)]

সবুজ


{b, -2, 2, .01}, {a, -2, 2, .01}সংক্ষিপ্ত এবং নিয়মের কাছাকাছি
মার্ক জেরোনিমাস

@ মার্ক জেরনিমাস ধন্যবাদ আমি পুনরাবৃত্ত চিত্রের জন্য প্রস্তাবিত পরিসরটি ব্যবহার করেছি।
ডেভিডসি

আপনার এটি প্রায় সঠিক ছিল, তারপরে আপনি ভিতরটি অ-কালো করে দিয়েছিলেন। জিআইএফের শেষ ফ্রেমটি ভিতরে কালো এবং একটি অনুমোদিত উত্তর। সম্পাদনা: এবং আমি 195 বাইট গণনা করি।
মার্ক জেরোনিমাস

আমি কালো হওয়ার বিষয়টি মিস করলাম। গণনা বৃদ্ধি পেয়েছে কারণ কিছু একক অক্ষর এসই-তে কাট-পেস্টে দুটি চরিত্র হয়ে উঠেছে।
ডেভিডসি

আপনার অন্তর্নির্মিত সমাধানটি খুব আলগা ব্যাখ্যা ব্যবহার করে The fractal coordinates range from approximately -2-2i to 2+2i
জোনাথন ফ্রেচ

16

পাইলাব + নিম্পি, 151 বাইট সহ পাইথন

আমি অ-ডিকিউ'যুক্ত পাইথন এন্ট্রিটি সহ্য করতে পারিনি, তবে আমি মনে করি আমি সত্যিই নিজেকে ছাড়িয়েছি এবং এটি এটিকে 153 টি করে নামিয়ে দিয়েছি!

import numpy as n
from pylab import*
i=99
x,y=n.mgrid[-2:2:999j,-2:2:999j]
c=r=x*1j+y
x-=x
while i:x[(abs(r)>2)&(x==0)]=i;r=r*r+c;i-=1
show(imshow(x))

এছাড়াও, উল্লেখযোগ্যভাবে, দ্বিতীয় থেকে শেষ লাইনে 4 টি স্বতন্ত্র রানটাইম সতর্কতা উত্থাপন করে, একটি নতুন ব্যক্তিগত রেকর্ড!

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


আমি 152 গণনা করি importএবং এর মধ্যে কোনও স্থানের প্রয়োজন হয় *না এবং সংজ্ঞা না দেওয়া মোটামুটি fকম হওয়া উচিত, যদি না আমি কোনও কিছুকে ভুল বুঝি , তবে এটি সম্ভব। আপনার 0 টি পুনরাবৃত্তি এবং 1 পুনরাবৃত্তি ছদ্মবেশযুক্ত (তারা বর্তমানে উভয় ধূসর) এর চারপাশে এটিও পরিবর্তন করা উচিত।
প্রিমো

রহস্যময়। Wc eof অন্তর্ভুক্ত না? স্থির এবং কিছুটা ছোট শুধু একটা মুহূর্ত.
meawoppl

আমি ডাব্লুসিটির সাথে 151 পেয়েছি। প্রথম গল্ফ, সুতরাং এটি কীভাবে স্কোর করবেন তা নিশ্চিত নন।
meawoppl

আমি নিউলাইনটি পিছনে ছাড়াই 150 গণনা করি। কিছু দোভাষী / সংকলকগুলির একটির দাবি, তবে পাইথন দোভাষী ছাড়াও জরিমানা করে। সম্পর্কে নিশ্চিত না wc, তবে stat -c %sপরিবর্তে সম্ভবত চেষ্টা করুন। কালো উপরের এবং নীচের সীমানা কি চিত্রের অংশ?
প্রিমো

1
আপনি from numpy import*পরিবর্তে import numpy as nএবং mgridপরিবর্তে ব্যবহার করে 1 টি অক্ষর সংরক্ষণ করতে পারেন n.mgrid
nyuszika7h

15

সি + অ্যালেগ্রো 4.2.2 - 248 বাইট

#include<allegro.h>
x=-1,y,K=400;float a,h,c,d,k;main(i){set_gfx_mode('SAFE',K,K,allegro_init(),0);while(x++<K)
for(y=0;y<K;y++){for(a=h=i=0;a*a+h*h<4&&++i<256;k=a,a=a*a-h*h+x*0.01-2,h=2*k*h+y*0.01-2);
putpixel(screen,x,y,i);}while(1);}END_OF_MAIN()

আউটপুট:

এমসেট ঘ


আপনার উল্লেখ করা উচিত যে এটি অ্যালেগ্রো 4 (যা অ্যালেগ্রো 5 এর থেকে একেবারেই আলাদা)। এটি কোন সঠিক সংস্করণ?
ভিক্টর স্টাফুস

এটি 246 বা 249 দীর্ঘ
মার্ক জেরোনিমাস

@ ভিক্টর অ্যালেগ্রো ৪.২.২।
ওবেরন

1
@ মারকজেরোনিমাস ... allegro.h>এবং এর মধ্যে একটি নতুন লাইন হওয়ার কথা নেই x=-1, ...? আমি মনে করি নোটপ্যাড ++ এটিকে \r\n= হিসাবে গণনা করেছে 0D 0A
ওবেরন

1
আমি মনে করি 0.01টাইপ করা যেতে পারে .01
ইয়াতসি

14

উইন্ডোজ পাওয়ারশেল (ভি 4), 299 বাইট

ম্যান্ডেলব্রোট ফ্র্যাক্টাল ছবি

# Linewrapped here for show:

$M='System.Windows.Forms';nal n New-Object;Add-Type -A System.Drawing,$M;(
$a=n "$M.Form").backgroundimage=($b=n Drawing.Bitmap 300,300);0..299|%{
$r=$_;0..299|%{$i=99;$k=$C=n numerics.complex($_/75-2),($r/75-2);while(((
$k=$k*$k).Magnitude-lt4)-and$i--){$k+=$C}$b.SetPixel($_,$r,-5e6*++$i)}};$a.Show()


# The single line 299 char entry version:

$M='System.Windows.Forms';nal n New-Object;Add-Type -A System.Drawing,$M;($a=n "$M.Form").backgroundimage=($b=n Drawing.Bitmap 300,300);0..299|%{$r=$_;0..299|%{$i=99;$k=$C=n numerics.complex($_/75-2),($r/75-2);while((($k=$k*$k).Magnitude-lt4)-and$i--){$k+=$C}$b.SetPixel($_,$r,-5e6*++$i)}};$a.Show()

নির্দেশনা

  • একটি সাধারণ পাওয়ারশেল কনসোল চালান (আইএসই হয়ত কাজ করবে না)
  • কোড অনুলিপি / পেস্ট করুন, এন্টার টিপুন
  • অপেক্ষা করুন - এটি চালাতে এক মিনিট বা তার বেশি সময় নেয়
  • প্রস্থান করার একমাত্র উপায় কনসোলটি বন্ধ করা

মন্তব্য

  • সেটের অভ্যন্তরের রঙগুলির সাথে নিয়ম-পরীক্ষা করার একটি ছোট্ট বিট রয়েছে; বিধিগুলিতে বলা হয়েছে "অন্যান্য পিক্সেল (সম্ভবত ম্যান্ডেলব্রোট সেটের অভ্যন্তরে) অবশ্যই কালো বা সাদা রঙিন হওয়া উচিত" ; কোডটি পিক্সেলগুলিকে সম্পূর্ণ কালো আরজিবি (0,0,0) রঙ করছে ... এটি কেবল স্বচ্ছ কালো আরজিবিএ (0,0,0,0) হিসাবে ঘটে। সুতরাং যা দেখায় তা হ'ল বর্তমান উইন্ডোজ থিমের ফর্ম ব্যাকগ্রাউন্ড রঙ, এই ক্ষেত্রে সামান্য অফ-হোয়াইট আরজিবি (240,240,240)।

আমি পরিবর্তন চাই lt2থেকে lt4এটি একটি "mandelbrot সেট" পরিবর্তে আপনি যে চিত্রটি এখন সেটের অনেক পয়েন্ট রঙ ব্যান্ড দ্বারা আপ গ্রস্ত হয় আছে করা।
মার্ক জেরোনিমাস

দৃশ্যত a*a+b*bsqrt(a*a+b*b)
চৌম্বকটি

আমি ভেবেছিলাম আমি এটি আগে পরীক্ষা করেছি, তবে আমি "বাম দিকে অনুভূমিক রেখাটি কোথায় গেছে?" এর উত্তর অনুসন্ধানে গিয়েছিলাম এবং কিছুক্ষণ পরে, আপনি ঠিক কোথায় বলেছিলেন তা খুঁজে পেয়েছি -lt4। যা ভাল - ধন্যবাদ। আমি আমার উত্তর সংশোধন কোড এবং চিত্র দিয়ে আপডেট করেছি। (এটি কী করছে সে সম্পর্কে আমার বোঝার পুনর্বিবেচনা করতে হবে, যেহেতু আমি কিছু মিস করছি)।
টেসেল্ল্যাটিংহেকলার

14

পাইথন + পিআইএল , 166 বাইট

import Image
d=600;i=Image.new('RGB',(d,d))
for x in range(d*d):
 z=o=x/9e4-2-x%d/150.j-2j;c=99
 while(abs(z)<2)*c:z=z*z+o;c-=1
 i.putpixel((x/d,x%d),5**8*c)
i.show()

আউটপুট (ডিফল্ট * .bmp ভিউয়ারে খুলবে):


1
yলুপ থেকে মুক্তি পেলে আপনি 3 টি শেভ করতে পারেন । r=range(d*d)ব্যবহার x/dএবং x%dx এবং y জন্য।
জিওবিটস

@ জিওবিটস ধারণাটি 10 ​​টি সংরক্ষণ করেছে, ধন্যবাদ!
প্রিমো

1
কমপ্লেক্স প্রকারের মতো আরম্ভ করা যেতে পারে: সি = 1 + 2 জ, যা আমি মনে করি যা আপনাকে কয়েকটি অক্ষর সংরক্ষণ করবে: z = o = x / 9e4-2 + (x% d / 150.-2) * 1j; c = 99
meawoppl

@ মাওওপ্পল আরও 7: ডি
প্রিমো

প্রযুক্তিগতভাবে অনুমোদিত নয়: এটি পাইথনের নিজেই কোনও গ্রাফিকাল আউটপুট বৈশিষ্ট্য নয় (এবং Image.show()অন্তর্নিহিতভাবে একটি অস্থায়ী ফাইল সংরক্ষণ করে)।
নিনেনিও

12

বিবিসি বেসিক (228 বাইট)

ভাষা গল্ফে কেউই কখনও শুনেনি এমন ভাষা সম্পর্কে কী বলা যায়? খুব সম্ভবত অনুকূলিত করা যেতে পারে, তবে আমি বেশিরভাগ ক্ষেত্রেই নেই - উন্নতিগুলিও সম্ভব। Http://rosettacode.org/wiki/Mandelbrot_set#BBC_BASIC এর ভিত্তিতে , তবে আমি গল্ফটিকে যতটা সম্ভব কোড করার চেষ্টা করেছি।

VDU23,22,300;300;8,8,8,8
ORIGIN0,300
GCOL1
FORX=0TO600STEP2
i=X/200-2
FORY=0TO300STEP2
j=Y/200
x=0
y=0
FORI=1TO128
IFx*x+y*y>4EXIT FOR
t=i+x*x-y*y
y=j+2*x*y
x=t
NEXT
COLOUR1,I*8,I*4,0
PLOTX,Y:PLOTX,-Y
NEXT
NEXT

উত্পন্ন ম্যান্ডেলব্রোট সেট

>ছবিতে প্রতীক প্রম্পট, এবং এটি স্বয়ংক্রিয়ভাবে প্রোগ্রাম চলমান পরে উত্পন্ন হয়।


দু'বার চক্রান্ত করার দরকার নেই, কেবল একটি আরও অদক্ষ সংস্করণ দিয়ে যান। এটি সমর্থন করে না NEXT Y,X?
মার্ক জেরোনিমাস

10

এপিএল, 194 চর / বাইট *

m←{1{⍺=99:0⋄2<|⍵:⍺⋄(⍺+1)∇c+⍵*2}c←⍵}¨⍉v∘.+0j1×v←¯2+4÷s÷⍳s←640
'F'⎕WC'Form'('Coord' 'Pixel')('Size'(s s))
'B'⎕WC'Bitmap'('CMap'(0,,⍨⍪0,15+10×⍳24))('Bits'(24⌊m))
'F.I'⎕WC'Image'(0 0)('Picture' 'B')

এটি ডায়ালগ এপিএল এর সাথে ⎕IO ⎕ML←1 3

উইন্ডোতে বিটম্যাপটি দেখানোর জন্য বেশিরভাগ স্থানটি এপিআই কল দ্বারা নেওয়া হয় (লাইন 2, 3, 4)
এটি করার শর্টকাট থাকলে কোডটি 60 টি অক্ষরে নেমে আসবে (লাইন 1)

PLZ সহায়তা শর্টকাট কেটিএইচএক্স

অবরুদ্ধ সংস্করণ (কেবলমাত্র লাইন 1)

s←640            ⍝ size of the bitmap
v←(4×(⍳s)÷s)-2   ⍝ vector of s reals, uniform between ¯2 and 2
m←(0j1×v)∘.+v    ⍝ square matrix of complex numbers from ¯2j¯2 to 2j2
m←{              ⍝ transform each number in matrix m according to the following
  1{             ⍝   function that takes iteration counter as ⍺ and current value as ⍵
    ⍺=99: 0      ⍝     if we have done 99 iterations, return 0
    2<|⍵: ⍺      ⍝     if |⍵| > 2 return the number of iterations done
    (⍺+1)∇c+⍵*2  ⍝     otherwise, increment the iterations and recurse with the new value
  }c←⍵           ⍝   save the initial value as c
}¨m    

স্ক্রীনশট:

(ফ্রিওয়্যার সংস্করণ ওয়াইনের অধীনে ওএস এক্সে চলছে Yes হ্যাঁ আমি এর মতো সস্তা)

স্ক্রিনশট

*: ডায়ালগের নিজস্ব সিঙ্গল বাইট চারসেট রয়েছে, এপিএল প্রতীকগুলি উপরের 128 বাইট মানগুলিতে ম্যাপ করা হয়েছে, যাতে পুরো কোডটি 194 বাইটে সংরক্ষণ করা যায়। এই পাদটীকা প্রতিটি বিবৃতি সম্ভবত সত্য। শান্ত থাকুন এবং গল্ফিং চালিয়ে যান।


10

গণিত 10.0, 19 টি অক্ষর

MandelbrotSetPlot[]

MandelbrotSetPlot ম্যাথমেটিকা ​​10.0 এ একটি নতুন ফাংশন।

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


কতটা সুবিধাজনক, এটি ফাংশনে নির্মিত এটি আমার সমস্ত প্রয়োজনীয়তা পূরণের জন্য ঘটে (অবস্থান ব্যতীত, যা আরও 13 টি অক্ষরের সাথে সেট করা যায়)। এটি বাদে একটি মান ফাঁক lo
মার্ক জেরোনিমাস

19
কোড গল্ফ সাধারণত সিঙ্গল-ক্যারেক্টার টোকেন সহ বিশেষজ্ঞ ভাষায় বা ম্যাথমেটিকার মতো সিস্টেমে জিতে থাকে যা বেশ কয়েকটি বিশেষ ফাংশন অন্তর্নির্মিত। এগুলি ব্যবহার করা প্রতারণা নয়, একক-অক্ষর কমান্ডগুলি ব্যবহার করা ছাড়াও এপিএলে থাকবে।
মাইকেল স্টারন

9

আর, 199 211 টি অক্ষর

পুরানো সমাধান 199 অক্ষরে:

r=seq(-2,2,l=500);c=t(sapply(r,function(x)x+1i*r));d=z=array(0,dim(c));a=1:25e4;for(i in 1:99){z[a]=c[a]+z[a]^2;s=abs(z[a])<=2;d[a[!s]]=i;a=a[s]};image(d,b=0:99,c=c(1,sample(rainbow(98))),ax=F,asp=1)

ইন্ডেন্টেশন সহ:

r=seq(-2,2,l=500)
c=t(sapply(r,function(x)x+1i*r)) #Produces the initial imaginary number matrix
d=z=array(0,dim(c)) #empty matrices of same size as c 
a=1:25e4            #(z will store the magnitude, d the number of iterations before it reaches 2)
for(i in 1:99){     #99 iterations
    z[a]=c[a]+z[a]^2
    s=abs(z[a])<=2
    d[a[!s]]=i
    a=a[s]
    }
image(d,b=0:99,c=c(1,sample(rainbow(98))),ax=F,asp=1) #Colors are randomly ordered (except for value 0)

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

সম্পাদনা করুন: 211 টি অক্ষরে সমাধান যা সেটটির অভ্যন্তর এবং প্রথম স্তরের বাইরের অংশটিকে আলাদাভাবে রঙ করে:

r=seq(-2,2,l=500);c=t(sapply(r,function(x)x+1i*r));d=z=array(0,dim(c));a=1:25e4;for(i in 1:99){z[a]=c[a]+z[a]^2;s=abs(z[a])<=2;d[a[!s]]=i;a=a[s]};d[a[s]]=-1;image(d,b=-1:99,c=c(1:0,sample(rainbow(98))),ax=F,asp=1)

ইন্ডেন্টেশন সহ:

r=seq(-2,2,l=500)
c=t(sapply(r,function(x)x+1i*r))
d=z=array(0,dim(c))
a=1:25e4
for(i in 1:99){
    z[a]=c[a]+z[a]^2
    s=abs(z[a])<=2
    d[a[!s]]=i
    a=a[s]
    }
d[a[s]]=-1 #Gives the inside of the set the value -1 to differenciate it from value 0.
image(d,b=-1:99,c=c(1,sample(rainbow(99))),ax=F,asp=1)

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


প্রযুক্তিগতভাবে বাইরের কালো রঙের অনুমতি নেই। আপনি কি এটি মিস করেছেন বা এটি বাস্তবায়ন করা কঠিন?
মার্ক জেরোনিমাস

@ মারকজেরোনিমাস উভয়ই :) আমি কীভাবে এটি করব সে সম্পর্কে একবার দেখার চেষ্টা করব তবে আমি 100% আত্মবিশ্বাসী নই যে আমি পরিষ্কারভাবে এটি করার একটি উপায় খুঁজে পাব।
প্লানাপাস

@ মার্ক জেরনিমাস সম্পন্ন!
প্লানাপাস

5
জঘন্য রঙ বিভাগে দ্বিতীয় স্থান।
meawoppl

1
@ মাওওপ্পল দোষ rainbow():)
প্ল্যানাপাস

9

জাভা - প্রক্রিয়াজাতকরণ (271 বাইট)

void setup(){int h=100,e=5*h,i;float d,v,w,a,b,c;size(e,e);colorMode(HSB,h);loadPixels();d=4./e;v=2;for(int x=1;x<=e;x++){v-=d;w=2;for(int y=0;y<e;){w-=d;a=b=c=0;i=-1;while(a*a+b*b<4&&++i<h){c=a*a-b*b+v;b=2*a*b+w;a=c;}pixels[e*++y-x]=color(i*9%h,h,h-i);}}updatePixels();}

সম্প্রসারিত:

void setup(){
  int h=100, e=5*h, i; //init of size "e", max hue "h", iterator "i"
  float d,v,w,a,b,c; //init of stepwidth "d", y-coord "v", x-coord "w", Re(z) "a", Im(z) "b", temp_a "c"
  size(e,e);
  colorMode(HSB,h);
  loadPixels();
  d = 4./e;
  v = 2;
  for(int x = 1; x <= e; x++){
    v -= d;
    w = 2;
    for(int y = 0; y < e;){
      w -= d;
      a = b = c = 0;
      i = -1;
      while(a*a + b*b < 4 && ++i < h){
        c = a*a - b*b + v;
        b = 2*a*b + w;
        a = c;
      }
      pixels[e * ++y - x] = color(i*9 % h, h, h-i);
    }
  }
  updatePixels();
}


হ্যাঁ, আমি এটি করতে চেয়েছিলাম। +1 টি
সাইনস্ট্যাকএফএল্ট

8

টিআই -80 বেসিক, 125 106 বাইট

ZDECIMAL
FOR(Y,-2,2,.1
FOR(X,-2,2,.1
0->S
0->T
1->N
LBL N
N+1->N
IF S²+T²≥4
GOTO B
S²-T²+X->I
2ST+Y->T
I->S
IF N<20
GOTO N
LBL B
IF FPART (N/2
PT-ON(X,Y
END
END

ডিজিটাল ট্রমা জবাব উপর ভিত্তি করে। এখানে চিত্র বর্ণনা লিখুন


6

জিএলএসএল - 225 বাইট:

void main(){vec2 c=gl_FragCoord.xy/iResolution.y*4.-2.,z=c,v;for(int i=0;i<99;i++){z=vec2(z.x*z.x-z.y*z.y,2.*z.x*z.y)+c;if(length(z)>2.&&v.y<1.)v=vec2(float(i)/99.,1.);}gl_FragColor=(v.y<1.)?vec4(v,v):texture2D(iChannel0,v);}

কোডে ভেরিয়েবলের সংজ্ঞা দেওয়া (242 বাইট):

uniform vec3 r;uniform sampler2D t;void main(){vec2 c=gl_FragCoord.xy/r.y*4.-2.,z=c,v;for(int i=0;i<99;i++){z=vec2(z.x*z.x-z.y*z.y,2.*z.x*z.y)+c;if(length(z)>2.&&v.y<1.)v=vec2(float(i)/99.,1.);}gl_FragColor=(v.y<1.)?vec4(v,v):texture2D(t,v);}

শ্যাডারটয় এ দেখুন

ম্যান্ডেলব্রোট গল্ফ

এটির জন্য উপযুক্ত প্যালেট টেক্সচারটি লোড হওয়া দরকার iChannel0। (এখানে রঙিনটি শ্যাডারটয়ের "র্যান্ডম পিক্সেল" টেক্সচার থেকে এসেছে)।


পরিবর্তনীয় ঘোষণাগুলিও গণনা করা উচিত, যদি না তারা কোড থেকে স্বয়ংক্রিয়ভাবে তৈরি করা যায়। (রঙের স্কিমটি যদি এটি কেবলমাত্র বাহ্যিক সেটিংস হিসাবে উপলব্ধ থাকে তবে তা ঠিক আছে)
মার্ক জেরোনিমাস

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

এটি কি তাদের সবার থেকে দ্রুত?
ডেমি

6

অক্টাভা ( 212 136 বাইট)

(এখন @ ক্রিসটেলারের কারণে কিছু ধারণাগুলি অন্তর্ভুক্ত))

[y,x]=ndgrid(-2:.01:2);z=c=x+i*y;m=c-c;for n=0:99;m+=abs(z)<2;z=z.^2+c;end;imagesc(m);colormap([hsv(128)(1+mod(0:79:7890,128),:);0,0,0])

সাদা স্থান সহ:

[y,x] = ndgrid(-2:.01:2);
z = c = x + i*y;
m = c-c;
for n=0:99
    m += abs(z)<2;
    z = z.^2 + c;
end
imagesc(m)
colormap([hsv(128)(1+mod(0:79:7900,128),:);
          0,0,0])

আউটপুট:

ম্যান্ডেলব্রোট পদক্ষেপে অ্যাবস (জেড)> 2

মতলব রূপান্তর করতে, " m+=abs(z)<2" " " তে " m=m+(abs(z)<2)" পরিবর্তন করুন । [+3 বাইট]

অনুপাত 1: 1 করতে, " ;axis image" যুক্ত করুন। [+ ১১ বাইট]

আমার প্রথম উত্তর (212 বাইট):

[x,y]=meshgrid(-2:.01:2);z=c=x+i*y;m=0*e(401);for n=0:99;m+=abs(z)<2;z=z.^2+c;endfor;t=[0*e(1,7);2.^[6:-1:0]];[s{1:7}]=ndgrid(num2cell(t,1){:});t=1+sum(cat(8,s{:}),8);imagesc(m);colormap([hsv(128)(t(:),:);0,0,0])

বিচ্ছিন্ন
রঙিন মানচিত্রটি

হ্যাঁ, এখন অনেক ভাল।
aschepler

+1 দুর্দান্ত এবং সংক্ষিপ্ত সমাধান। তবে আপনার দিক অনুপাত 1: 1 নয় (সিএফ। বিধি n ° 2: আউটপুটটি বর্গক্ষেত্র হওয়া উচিত)।
প্ল্যানাপাস

দিক অনুপাত স্থির করতে আরও 11 টি বাইট লাগবে: অ্যাপেন্ড " ;axis image"। এটি কি যোগ্যতা অর্জনের প্রয়োজন?
aschepler

আমি মনে করি এটি কেবল আমার নিটপিকিং ছিল :), ও কিছু না বলে ওপিতে সমস্যা হয়েছে বলে মনে হয় না।
প্ল্যানাপাস

6

অ্যাপলসফট বেসিক, 302 286 280 বাইট

এটি আঁকতে এলোমেলো পয়েন্ট তুলে ধরে, তাই এটি চিরকালের জন্য চলবে এবং কখনও পুরো বিমানটি পূরণ করতে পারে না।

1HGR:POKE49234,0:DIMco(10):FORc=0TO10:READd:co(c)=d:NEXT:DATA1,2,3,5,6,1,2,3,5,6,0
2x=INT(RND(1)*280):y=INT(RND(1)*96):x1=x/280*3-2:y1=y/191*2-1:i=0:s=x1:t=y1
3s1=s*s-t*t+x1:t=2*s*t+y1:s=s1:i=i+1:IFs*s+t*t<4ANDi<20THENGOTO3
4c=co(i/2):IFc THENHCOLOR=c:HPLOTx,y:HPLOTx,191-y
5GOTO2

অ্যাপলসফ্ট চালু করে বেসিক সত্যই জায়গাগুলির অভাব সম্পর্কে ক্ষমা করে দিচ্ছে । পুরো প্রোগ্রামটিতে একটি মাত্র স্থান প্রয়োজন।

14 ঘন্টা পরে আউটপুট:

        আউটপুট

জিআইএফ:

        GIF

গল্ফ করার আগে:

10 HGR : POKE 49234,0
20 DIM co(10) : FOR c = 0 TO 10 : READ d : co(c) = d : NEXT
30 DATA 1, 2, 3, 5, 6, 1, 2, 3, 5, 6, 0
100 x = INT(RND(1) * 280) : y = INT(RND(1) * 96)
110 x1 = x / 280 * 3 - 2 : y1 = y / 191 * 2 - 1
120 i = 0:s = x1:t = y1
130 s1 = s * s - t * t + x1
140 t = 2 * s * t + y1:s = s1: i = i + 1
150 IF s * s + t * t < 4 AND i < 20 THEN GOTO 130
160 c = co(i/2) : IF c THEN HCOLOR= c : HPLOT x,y : HPLOT x,191 - y
170 GOTO 100

দ্রষ্টব্য: POKE 49234,0(অ্যাপলসফট বেসিকে) মেশিনটিকে পূর্ণ গ্রাফিক্স মোডে রাখে।

বি ও ডাব্লু প্রদর্শনগুলির জন্য অনুকূলিত একটি সংস্করণ:

110 HGR:POKE 49234,0:HCOLOR=3
120 FOR x = 0 TO 279:FOR y = 0 TO 95
130 x1 = x / 280 * 3 - 2:y1 = y / 191 * 2 - 1
140 i = 0:s = x1:t = y1:c = 0
150 s1 = s * s - t * t + x1
160 t = 2 * s * t + y1:s = s1:c = 1 - c:i = i + 1
170 IF s * s + t * t < 4 AND i < 117 THEN GOTO 150
180 IF c = 0 THEN HPLOT x,y:HPLOT x,191 - y
190 NEXT:NEXT

12 ঘন্টা পরে আউটপুট:

        B & W

GW-বেসিক (ডস) এ কাজ করবে এমন একটি সংস্করণ:

5 CLS
6 SCREEN 1
20 DIM co(10) : FOR c = 0 TO 10 : READ d : co(c) = d : NEXT
30 DATA 1, 2, 3, 5, 6, 1, 2, 3, 5, 6, 0
100 x = INT(RND(1) * 280) : y = INT(RND(1) * 96)
110 x1 = x / 280 * 3 - 2 : y1 = y / 191 * 2 - 1
120 i = 0 : s = x1 : t = y1
130 s1 = s * s - t * t + x1
140 t = 2 * s * t + y1 : s = s1 : i = i + 1
150 IF s * s + t * t < 4 AND i < 20 THEN GOTO 130
160 c = co(i/2) : PSET (x,y),C : PSET (x,191 - y),C
170 GOTO 100

আপনি যদি একবারে দুটি পিক্সেল প্লট না করে পুরো পর্দায় একটি এলোমেলো পিক্সেল চয়ন করেন তবে এটি আরও ছোট (এবং ধীর) হবে।
মার্ক জেরোনিমাস

1
@ মারকজেরোনিমাস এটি ইতিমধ্যে এত ধীর যে রঙিন সংস্করণটি এখনও শেষ হয়নি, 5 দিন আগে পোস্ট করার পরে। আমি মনে করি না যে আমি এটির চেয়ে ধীর হতে পারব: পি
এমডি এক্সএফ

5

gnuplot 110 (নিউলাইন ছাড়া 105)

বাধ্যতামূলক gnuplot এন্ট্রি। এটি অসংখ্যবার করা হয়েছে তবে এটি স্ক্র্যাচ থেকে এসেছে (এটি কঠিন নয়)। আমি পছন্দ করি কীভাবে gnuplotএর কমান্ডগুলি অভ্যন্তরীণভাবে গল্ফ করে :)

f(z,w,n)=abs(z)>2||!n?n:f(z*z+w,w,n-1)
se vi map
se si sq
se isos 256
sp [-2:2] [-2:2] f(0,x+y*{0,1},99) w pm

ungolfed:

f(z,w,n)=abs(z)>2||n==0?n:f(z*z+w,w,n-1)
set view map
set size square
set isosamples 256
splot [-2:2] [-2:2] f(0,x*{1,0}+y*{0,1},99) with pm3d

তবে জটিল সংখ্যার প্রবেশে আমি হতাশ। x*{1,0}+y*{0,1}জটিল সংখ্যা নির্মানের সবচেয়ে দুঃখজনকতম উপায় হতে হবে।

ওফস, চিত্র: gnuplot ম্যান্ডেলব্রোট

আরও ভাল রেজোলিউশনের জন্য আইসোসম্পলগুলি উচ্চতর সেট করুন। আমরা বলতে unset ticsএবং unset colorboxএকটি বিশুদ্ধ চিত্রের জন্যও বলতে পারি , তবে আমি মনে করি এই সংস্করণটি ঠিকঠাক যোগ্য।


প্রথম Google এর হিট "gnuplot ম্যান্ডেল" থেকে এটি অনুলিপি / পাস্তা হ'ল। শুরুর জন্য, *{1,0}unity ক্য হয় এবং এটি একটি কোড-বোলিং বলার মতো *1এবং সম্ভবত বাদ দেওয়া যায়। (অরক্ষিত)
মার্ক জেরোনিমাস

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

5

মতলব (89 বাইট)

[X,Y]=ndgrid(-2:.01:2);C=X+i*Y;Z=C-C;K=Z;
for j=1:99,Z=Z.*Z+C;K=K+(abs(Z)<2);end,imagesc(K)

আউটপুট -

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

অভ্যন্তরীণ কোষগুলি কালো বা সাদা হতে হবে এমন প্রয়োজনীয়তাটি পূরণ করে না তবে এটির (1) এর imshow(K)পরিবর্তে imagesc(K)(1 কম বাইট প্রয়োজন তবে চিত্র প্রক্রিয়াকরণ সরঞ্জাম বাক্সের প্রয়োজন হয়) বা (2) সংযোজন colormap hot(আরও 12 টি প্রয়োজন বাইটস)।

অবরুদ্ধ সংস্করণ -

Z = zeros(N);
K = Z;

[X,Y]=ndgrid(-2:.01:2);
C = X+1i*Y;

for j = 1:99
  Z = Z.*Z + C;
  K(K==0 & abs(Z) > 2) = j;
end

imagesc(K)

কোনও লাইব্রেরি ব্যবহার করা ঠিক আছে যদি এটি মাতলাবে ডিফল্টরূপে প্যাকেজ হয় এবং কোনও ব্যবহারকারী অনুমান করতে পারেন যে কোড বা ত্রুটি বার্তাগুলি থেকে এটি ব্যবহার করা হচ্ছে।
মার্ক জেরোনিমাস

ভাল লাগছে, তুমি আমাকে মারধর করেছ আমি C-Cআমার জায়গা পছন্দ করি 0*e(401)। এছাড়াও, আপনি ব্যবহার করছেন না N। এবং m+=abs(z)<2আপনার জায়গায় আমার ধারণাটি ব্যবহার করে আমরা কিছুটা ছোট হতে পারি K(~K&abs(Z)>2)=j
aschepler

ডিফল্ট colormap jetএবং colormap hotউভয়ই ভুল হলেও - তাদের কেবল 64৪ টি স্বতন্ত্র রঙ রয়েছে। colormap(hot(101))আমার কাছে চাক্ষুষভাবে আলাদা দেখায় না look colormap([0,0,0;jet(100)])সম্ভবত গ্রহণযোগ্য তবে ifif।
aschepler

ওইটা কি কাজ করে? অন ​​অক্টোবায়, K=K+abs(Z)<2মানে K=((K+abs(Z))<2)। (সুতরাং আমি একটি বাইট আনুমানিক অনুমান সম্পর্কে ভুল ছিল +=।)
aschepler

2
90 ডিগ্রি ঘোরানো ম্যান্ডেলব্রোট সেটটি এখনও ম্যান্ডেলব্রোট সেট।
ক্রিস টেলর

4

জাভাস্ক্রিপ্ট + এইচটিএমএল 5 (356 বি)

(দ্রষ্টব্য: '//' দিয়ে শেষ হওয়া লাইনগুলি এখানে কিছু পাঠযোগ্যতার জন্য যুক্ত করা হয়েছে)

পারফরম্যান্ট সংস্করণ (375 বি):

<body onload='var
w,h=w=C.width=C.height=500,X=C.getContext("2d"),I=X.createImageData(w,h),D=I.data, //
y=0,f=255,T=setInterval(function(x,i,j,k,l,c,o){for(x=0;x<w;){                     //
for(i=x*4/w-2,j=y*4/h-2,k=l=0,c=f;--c&&k*k+l*l<4;)t=k*k-l*l+i,l=2*k*l+j,k=t
D[o=(y*w+x++)*4]=(c*=0xc0ffeeee)&f
D[++o]=c>>8&f
D[++o]=c>>16&f
D[++o]=f}X.putImageData(I,0,0)
++y-h||clearInterval(T)},0)'><canvas id=C>

ধীর সংস্করণ (356 বি): অভ্যন্তরীণ ফাংশনে 'ভার' এবং পরামিতিগুলি সরিয়ে ফেলুন যাতে বিশ্বব্যাপী সুযোগ ব্যবহার করা যায়।

এটি ব্যবহার করে দেখুন: http://jsfiddle.net/neuroburn/Bc8Rh/

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


সংক্ষিপ্ত সংস্করণটি তৈরির বিষয়ে আপনার নির্দেশাবলী যদি আমি বুঝতে না পারি তবে আমাকে ক্ষমা করুন।
মার্ক জেরোনিমাস

সমস্যা নেই. var w,শুরুতে সরান , এবং এতে পরিবর্তন function(x,i,j,k,l,c,o)করুন function()
urউরোবুর

4

জাভাস্ক্রিপ্ট, 285 বি

আমার কোড এবং এমটি0 এর কোডের কিছু উন্নতির ভিত্তিতে , আমি এটি রঙে 285 বি তে নামিয়েছি :

document.body.appendChild(V=document.createElement('Canvas'));j=(D=(X=V.getContext('2d')).createImageData(Z=V.width=V.height=255,Z)).data;for(x=Z*Z;x--;){k=a=b=c=0;while(a*a+b*b<4&&Z>k++){c=a*a-b*b+4*(x%Z)/Z-3;b=2*a*b+4*x/(Z*Z)-2;a=c;}j[4*x]=99*k%256;j[4*x+3]=Z;}X.putImageData(D,0,0);

পদক্ষেপে: http://jsfiddle.net/acLhe/7/

ছিল: কফিসক্রিপ্ট, 342 বি

document.body.appendChild V=document.createElement 'Canvas'
N=99
Z=V.width=V.height=400
P=[]
P.push "rgba(0,0,0,"+Math.random()*i/N+')' for i in [N..0]
X=V.getContext '2d'
for x in [0..Z]
 for y in [0..Z]
  k=a=b=0
  [a,b]=[a*a-b*b+4*x/Z-3,2*a*b+4*y/Z-2] while a*a+b*b<4 and N>k++
  X.fillStyle=P[k-1]
  X.fillRect x,y,1,1

কফিসক্রিপ্টটি পাঠযোগ্য হবে বলে মনে করা হচ্ছে: - / এটি ক্রিয়ায় দেখুন: http://jsfiddle.net/acLhe/6/

ম্যান্ডেলব্রট কফিস্ক্রিপ্ট


আপনার প্ল্যাটফর্ম রঙ সমর্থন না করে ওপি রঙ জিজ্ঞাসা করে। দেখতে দুর্দান্ত লাগছে তবে সুন্দর এবং সংক্ষিপ্ত কোড। পিপিসিজিতে আপনাকে স্বাগতম!
জোনাথন ভান মাত্রে

আমি এই আকারটি 285 বি থেকে শুরু করেছি এবং এই উত্তরে
কামিল কিয়েসজেউস্কি

4

কিউবাসিক, কুইকব্যাসিক, কিউবি 64 - 156 153

SCREEN 13
FOR J=0TO 191
B=J/48-2
FOR I=0TO 191
A=I/48-2
X=A
Y=B
C=0
DO
U=X*X
V=Y*Y
Y=2*X*Y+B
X=U-V+A
C=C+1
LOOP UNTIL C>247OR U+V>4
PSET(I,J),C
NEXT
NEXT

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

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


4

টিসিএল / টাকা, 316

322 324 336 348 349 351 352 353 354 355

3 চিঠি # আরজিবি শর্টহ্যান্ডস স্টাইলের রঙ ট্রিপল্ট (# আরআরজিবিবিবি ট্রিপল্টের পরিবর্তে) ব্যবহার করে এখন একটি সংক্ষিপ্ত সংস্করণ, যার ফলাফল বিভিন্ন রঙের হয়।

এবং আরও কিছু গল্ফিং।

rename set s
grid [canvas .c -w 640 -he 640]
.c cr i 320 320 -i [s p [image c photo -w 640 -h 640]]
time {incr x
s y 0
time {incr y
s a 0
s b 0
s n 0
while \$n<99 {s A [expr $a*$a-$b*$b+$x[s f *4/639.-2]]
if [s b [expr 2*$a*$b+$y$f]]*$b+[s a $A]*$a>4 break
incr n}
$p p [format #%03x [expr $n*41]] -t $x $y} 640} 640

ফ্র্যাক্টাল


টিসিএল / টাকা, 325

331 333 345 357 358 360 361 362 364 365

আমি মনে করি মানদণ্ড যদি সুন্দর হয় তবে আমি জিততাম!

rename set s
grid [canvas .c -w 640 -he 640]
.c cr i 320 320 -i [s p [image c photo -w 640 -h 640]]
time {incr x
s y 0
time {incr y
s a 0
s b 0
s n 0
while \$n<99 {s A [expr $a*$a-$b*$b+$x[s f *4/639.-2]]
if [s b [expr 2*$a*$b+$y$f]]*$b+[s a $A]*$a>4 break
incr n}
$p p [format #%06x [expr $n*16777215/99]] -t $x $y} 640} 640

উপস্থাপনা:

ফ্র্যাক্টাল


1
খুশী হলাম। আপনি কয়েক অক্ষর (নিচে 380, আমি মনে করি) যোগ করে কমে যায় rename set sউপরের এবং তারপর সব প্রতিস্থাপন setদ্বারাs
Rolazaro Azeveires

4

এক্সেল ভিবিএ, 251 246 224 223 221 বাইট

সিলিংক্যাটের জন্য 5 বাইট সংরক্ষণ করা 23 টি বাইট টেলর স্কটকে ধন্যবাদ সঞ্চিত

Sub m
D=99
For x=1To 4*D
For y=1To 4*D
p=0
q=0
For j=1To 98
c=2*p*q
p=p^2-q^2-2+(x-1)/D
q=c+2+(1-y)/D
If p^2+q^2>=4Then Exit For
Next
j=-j*(j<D)
Cells(y,x).Interior.Color=Rnd(-j)*1E6*j/D
Next y,x
Cells.RowHeight=48
End Sub

আউটপুট:

ডি = 99 দিয়ে আউটপুট

আমি একটি সংস্করণ তৈরি করেছি যা এটি অনেক দিন আগে করেছে তবে এতে ব্যবহারকারীর মৌলিক রঙ এবং সহজে অনুসরণ করার গণিত বাছাই করার মতো অনেকগুলি অতিরিক্ত ছিল। এদিকে নামা গল্ফ করা একটি আকর্ষণীয় চ্যালেঞ্জ ছিল। Colorপদ্ধতি ব্যবহার 1E6একটি উপায় রঙের একটি বিস্তৃত পেতে যেহেতু বৈধ রং যেমন 0করতে 2^24। এটিকে সেট করা 10^6ভাল বিপরীতে ক্ষেত্রগুলি দিয়েছে।

ব্যাখ্যা / স্ব-বিন্যাসকরণ:

Sub m()

    'D determines the number of pixels and is factored in a few times throughout
    D = 99
    For x = 1 To 4 * D
    For y = 1 To 4 * D
        'Test to see if it escapes
        'Use p for the real part and q for the imaginary
        p = 0
        q = 0
        For j = 1 To 98
            'This is a golfed down version of complex number math that started as separate generic functions for add, multiple, and modulus
            c = 2 * p * q
            p = p ^ 2 - q ^ 2 - 2 + (x - 1) / D
            q = c + 2 + (1 - y) / D
            If p ^ 2 + q ^ 2 >= 4 Then Exit For
        Next

        'Correct for no escape
        j = -j * (j < D)

        'Store the results
        'Rnd() with a negative input is deterministic
        'This is what gives us the distinct color bands
        Cells(y, x).Interior.Color = Rnd(-j) * 1000000# * j / D

    Next x, y

    'Resize for pixel art
    Cells.RowHeight = 48

End Sub

আমি আরও বড় এবং আরও সুনির্দিষ্ট চিত্র পেতে D=999এবং এর সাথে চারপাশে খেলেছি j=1 to 998। কারণ তারা পথ অত্যন্ত বড় করছি কিন্তু তারা ফলাফল চ্যালেঞ্জ অপ্রাসঙ্গিক হয় হয় ঝরঝরে।

ডি = 999


ধন্যবাদ এটি আমার আসলটি থেকে ক্যারিওভার ছিল যা জটিল সংখ্যা গণিতের জন্য বিশেষকৃত ফাংশন ছিল।
ইঞ্জিনিয়ার টোস্ট

এটি কি আসলেই হওয়া দরকার> = 4 বা আপনি কি> 4 দিয়ে পালাতে পারবেন? এছাড়াও, j<99সঙ্গে প্রতিস্থাপন করতে পারেন j<D
সিলিংক্যাট

@EngineerToast আপনি ড্রপ করতে পারেন ()সাব নাম থেকে, আপনি পরিবর্তন করা উচিত (j<99)করার (j<d)তৈরীর উদ্দেশ্য বর্গ কোষ শুধুমাত্র ব্যবহারের জন্য, এবং আপনি যা করতে পারেন Cells.RowHeight=48স্থানে Cells.RowHeight=9, Cells.ColumnWidth=1- এই চারপাশে আপনার আউটপুট আরো কঠিন তালগোল পাকানো উপার্জন কিন্তু বৈধ হিসাবে গ্রহণ করা হয়েছে সম্প্রদায় দ্বারা -
টেলর স্কট

1
@ টেলরস্কট আমার ভিবিএ RowHeightটিপস পোস্টের কৌশলটি মনে আছে এবং আমার সমস্ত সুন্দর ছবি পাওয়ার পরে এটি সংহত করার চেষ্টা করেছিল। ধন্যবাদ, এটি একটি সুন্দর অংশ ছিল, ধন্যবাদ।
ইঞ্জিনিয়ার টোস্ট

আমি বিশ্বাস করি যে আপনি আরও বাইট সরিয়ে 2^20দিয়ে 1E6
টেলর স্কট

3

পার্ল + জিডি, 264

$I=new GD::Image $s=499,$s;Z(0,0,0);Z(map rand 256,1..3)for
0..99;for$x(0..$s){for$y(0..$s){for($H=$K=$c=$t=0;$c++<99&&$H*$H+$K*$K<4;){sub
Z{$I->colorAllocate(@_)}($H,$K)=($H*$H-$K*$K+4*$x/$s-2,2*$H*$K+4*$y/$s-2)}use
GD;$I->setPixel($x,$y,$c<99&&$c)}}print $I->png

পার্ল + জিডি থেকে ম্যান্ডেলব্রোট ফ্র্যাক্টাল

এই কোড থেকে গল্ফ


2
মনোনীত: সবচেয়ে কুৎসিত রঙের স্কিম।
meawoppl

3

ফ্লোটার, 620 পিক্সেল

আমি আমার নিজের চ্যালেঞ্জের পাশাপাশি উত্সাহী ভাষা পিট থেকে অনুপ্রাণিত হয়েছি এমন একটি ভাষা।

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


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