ට්වීට් කළ හැකි ගණිත කලාව [වසා ඇත]


329

ජාලකයකට ඉහලින් තැබූ විට පූර්ණ සංඛ්‍යා ගණිතයට විස්මිත රටා ජනනය කළ හැකිය. වඩාත් මූලික කාර්යයන් පවා සිත් ඇදගන්නාසුළු විස්තීර්ණ මෝස්තර ලබා දිය හැකිය!

ඔබේ අභියෝගය

1024x1024 රූපයක් සඳහා රතු, කොළ සහ නිල් අගයන් සඳහා 3 ට්වීටබල් (අක්ෂර 140 ක් හෝ ඊට අඩු) ක්‍රියාකාරී සිරුරු ලියන්න.

ශ්‍රිත සඳහා ආදානය පූර්ණ සංඛ්‍යා දෙකක් (දී ඇති පික්සෙල් සඳහා තීරු අංකය) සහ j (ලබා දී ඇති පික්සෙල් සඳහා පේළි අංකය) වන අතර ප්‍රතිදානය 0 සහ 1023 අතර අත්සන් නොකළ කෙටි එකක් වනු ඇත. පික්සෙල් වල වර්ණය (i, j).

උදාහරණයක් ලෙස, පහත දැක්වෙන කාර්යයන් තුන පහත පින්තූරය නිපදවයි:

/* RED */
    return (unsigned short)sqrt((double)(_sq(i-DIM/2)*_sq(j-DIM/2))*2.0);
/* GREEN */
    return (unsigned short)sqrt((double)(
        (_sq(i-DIM/2)|_sq(j-DIM/2))*
        (_sq(i-DIM/2)&_sq(j-DIM/2))
    )); 
/* BLUE */
    return (unsigned short)sqrt((double)(_sq(i-DIM/2)&_sq(j-DIM/2))*2.0);

රටාව -1

/* RED */
    return i&&j?(i%j)&(j%i):0;
/* GREEN */
    return i&&j?(i%j)+(j%i):0;
/* BLUE */
    return i&&j?(i%j)|(j%i):0;

රටාව -2

නීති

  • ලබා දී මෙම C ++ කේතය ඔබේ කාර්යයන් ආදේශකයක්. මම මැක්‍රෝ කිහිපයක් ලබා දී පුස්තකාලය ඇතුළත් කර ඇති අතර ඔබට complex.h ඇතුළත් විය හැකිය. ඔබට මෙම පුස්තකාල සහ / හෝ මගේ මැක්‍රෝස් වෙතින් ඕනෑම කාර්යයක් භාවිතා කළ හැකිය. කරුණාකර මෙයින් ඔබ්බට කිසිදු බාහිර සම්පත් භාවිතා නොකරන්න.
  • එම අනුවාදය ඔබ වෙනුවෙන් ක්‍රියා නොකරන්නේ නම්, ඔබ සම්පාදනය කරන බවට වග බලා ගන්න:

    g++ filename.cpp -std=c++11
    

    එය ක්‍රියාත්මක නොවන්නේ නම්, කරුණාකර අත්සන් නොකළ කොට කලිසම් වෙනුවට අත්සන් නොකළ අක්ෂර භාවිතා කර විකල්ප අනුවාදය භාවිතා කරන්න.

මයිකල්ඇන්ජලෝ විසින් පිරිසිදු කරන ලද බිට් 24 හෝ බිට් 48 වර්ණ ප්‍රතිදාන අනුවාදයක් ලබා දී ඇත.

  • ඔබට ඔබේම අනුවාදය වෙනත් භාෂාවකින් ක්‍රියාත්මක කළ හැකි නමුත් එය සපයා ඇති C ++ අනුවාදයට සමාන ආකාරයකින් හැසිරිය යුතු අතර එය සාධාරණ කිරීමට C ++ හි ගොඩනංවන ලද පුස්තකාල, පුස්තකාලය හෝ සපයා ඇති මැක්‍රෝස් වලින් පමණක් ක්‍රියා කළ හැකිය.
  • ඔබගේ ක්‍රියාකාරී ආයතන තුන පමණක් පළ කරන්න - කරුණාකර මගේ කේතය ඔබගේ ලිපියට ඇතුළත් නොකරන්න
  • කරුණාකර කුඩා පිටපතක් හෝ ඔබේ රූපයේ කාවැද්දූ පිටපතක් ඇතුළත් කරන්න. ඒවා පීපීඑම් ආකෘතියකට සාදා ඇති අතර ඒවා කොටස් හුවමාරුව පිළිබඳ නිසි ලෙස බැලීම සඳහා වෙනත් ස්ථානයකට පරිවර්තනය කිරීමට අවශ්‍ය විය හැකිය.
  • ක්‍රියාකාරී සිරුරු (අත්සන ඇතුළුව) අක්ෂර 140 ක් හෝ ඊට අඩු විය යුතුය.
  • මෙය ජනප්‍රිය තරගයකි - බොහෝ ඡන්ද ජයග්‍රහණය කරයි

3
C ++ ටැගය එක් කරන ලද්දේ නීති වල ස්වභාවය වෙනත් භාෂාවන් බැහැර කරන බැවිනි. නිශ්චිත කට්ටලයක් අවශ්‍ය වීමට හොඳ හේතුවක් නොමැති නම් අපි සාමාන්‍යයෙන් භාෂා-අ nost ෙයවාදී අභියෝගයන්ට කැමැත්තෙමු.
ඇල්ගොරිතම ෂාර්ක්

4
මෙය ඉතා පුළුල් යැයි කියන සමීප ඡන්දදායකයින්ට කරුණාකර මේ සඳහා පිළිතුරක් ලිවීමට උත්සාහ කරන්න. එය පුදුම සහගත ලෙස සීමා කර ඇත ...
ට්‍රයිකොප්ලැක්ස්

8
මෙය මම මෙතෙක් දැක ඇති මගේ ප්‍රියතම දෙයයි.
ඩේවිඩ් කොන්රාඩ්

4
මෙම ප්‍රශ්නය පැරණි පාසැල් නිරූපණ දර්ශනයක් මෙන් දැනෙන බව මම ප්‍රිය කරමි.
mskfisher

23
මෙම ආකාරයේ ප්‍රශ්න කේත ගොල්ෆ් ක්‍රීඩාවට සහභාගී වීම දිරිමත් කරයි. හොඳින් ක්‍රීඩා කිරීමට මට විශ්වාස නැති නිසා ගොල්ෆ් ප්‍රශ්නයකට පිළිතුරු දීමට මම සාමාන්‍යයෙන් අකමැතියි. මේ ආකාරයේ ප්‍රශ්න සමඟ බයිට් සීමාව මට සරල පිළිතුරක් උත්සාහ කිරීමටත්, ගොල්ෆ් ක්‍රීඩා කිරීමේ ක්‍රම ඉගෙන ගැනීමටත්, පසුව වඩාත් සංකීර්ණ පිළිතුරු ලබා දීමටත් භාවිතා කරයි. මෙය සෘජු ගොල්ෆ් ප්‍රශ්නවලට පිළිතුරු සැපයීමේ පියවරක් වැනිය. මම එය තව තවත් මිනිසුන් ගෙන ඒම ප්රධාන විය හැකි හිතන්නේ.
trichoplax

Answers:


120

මැන්ඩෙල්බ්‍රොට් 3 x 133 අක්ෂර

මගේ මනසට නැඟුණු පළමු දෙය නම් "මැන්ඩෙල්බ්‍රොට්!".

ඔව්, මම දන්නවා දැනටමත් මැන්ඩල්බ්‍රොට් ඉදිරිපත් කිරීමක් තිබෙන බව. මට එය අක්ෂර 140 ට වඩා අඩුවෙන් ලබා ගත හැකි බව තහවුරු කිරීමෙන් පසුව, මම එම විසඳුමේ උපක්‍රම සහ ප්‍රශස්තිකරණය මගේ අතට ගෙන ඇත (ස්තූතියි මාටින් සහ ටොඩ්). සිත්ගන්නාසුලු ස්ථානයක් සහ විශාලනය මෙන්ම ලස්සන වර්ණ තේමාවක් තෝරා ගැනීමට එම ඉඩ ප්‍රමාණය:

මැන්ඩෙල්බ්‍රොට්

unsigned char RD(int i,int j){
   double a=0,b=0,c,d,n=0;
   while((c=a*a)+(d=b*b)<4&&n++<880)
   {b=2*a*b+j*8e-9-.645411;a=c-d+i*8e-9+.356888;}
   return 255*pow((n-80)/800,3.);
}
unsigned char GR(int i,int j){
   double a=0,b=0,c,d,n=0;
   while((c=a*a)+(d=b*b)<4&&n++<880)
   {b=2*a*b+j*8e-9-.645411;a=c-d+i*8e-9+.356888;}
   return 255*pow((n-80)/800,.7);
}
unsigned char BL(int i,int j){
   double a=0,b=0,c,d,n=0;
   while((c=a*a)+(d=b*b)<4&&n++<880)
   {b=2*a*b+j*8e-9-.645411;a=c-d+i*8e-9+.356888;}
   return 255*pow((n-80)/800,.5);
}

අක්ෂර 132 ක්

සියලුම නාලිකා 3 සඳහා එය 140 දක්වා අඩු කිරීමට මම උත්සාහ කළෙමි. දාරය අසල වර්ණ ශබ්දයක් ඇති අතර, ස්ථානය පළමු එක තරම් රසවත් නොවේ, නමුත්: අක්ෂර 132

මැන්ඩෙල්බ්‍රොට් අඩු කර ඇත

unsigned char RD(int i,int j){
  double a=0,b=0,d,n=0;
  for(;a*a+(d=b*b)<4&&n++<8192;b=2*a*b+j/5e4+.06,a=a*a-d+i/5e4+.34);
  return n/4;
}
unsigned char GR(int i,int j){
  return 2*RD(i,j);
}
unsigned char BL(int i,int j){
  return 4*RD(i,j);
}

8
එම වර්ණ ඉතා අලංකාරයි!
මාටින් එන්ඩර්

මම මේකට කැමතියි, තවමත් හොඳ පෙනුමක් ඇති රූපයක්!
රෝයි වැන් රිජන්

4
මෙය දැන් මගේ බිතුපතයි.
සිෆර්

209

මේස රෙදි

පැතලි

මම අසීමිත මේස රෙද්දක් වැනි දෘෂ්ටිකෝණයකට ප්ලේඩ් / ගිංහැම් රටාවක් තැබීම ආරම්භ කළෙමි:

unsigned char RD(int i,int j){
    float s=3./(j+99);
    return (int((i+DIM)*s+j*s)%2+int((DIM*2-i)*s+j*s)%2)*127;
}
unsigned char GR(int i,int j){
    float s=3./(j+99);
    return (int((i+DIM)*s+j*s)%2+int((DIM*2-i)*s+j*s)%2)*127;
}
unsigned char BL(int i,int j){
    float s=3./(j+99);
    return (int((i+DIM)*s+j*s)%2+int((DIM*2-i)*s+j*s)%2)*127;
}

පැතලි මේස රෙදි

රැල්ල

ඊටපස්සේ මම රැල්ලක් හඳුන්වා දුන්නා (තදින් නිවැරදි දෘෂ්ටිකෝණයකින් නොව, නමුත් අක්ෂර 140 කින්):

unsigned char RD(int i,int j){
    float s=3./(j+99);
    float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;
    return (int((i+DIM)*s+y)%2+int((DIM*2-i)*s+y)%2)*127;
}
unsigned char GR(int i,int j){
    float s=3./(j+99);
    float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;
    return (int((i+DIM)*s+y)%2+int((DIM*2-i)*s+y)%2)*127;
}
unsigned char BL(int i,int j){
    float s=3./(j+99);
    float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;
    return (int((i+DIM)*s+y)%2+int((DIM*2-i)*s+y)%2)*127;
}

ඉරුණු රෙදි මේස

වර්ණ

පුළුල් පරාසයක විස්තර ලබා දීමටත්, පින්තූරය වඩාත් වර්ණවත් කිරීමටත් මම වර්ණ කිහිපයක් වඩාත් සියුම් ලෙස සකස් කළෙමි ...

unsigned char RD(int i,int j){
    float s=3./(j+99);
    float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;
    return (int((i+DIM)*s+y)%2+int((DIM*2-i)*s+y)%2)*127;
}
unsigned char GR(int i,int j){
    float s=3./(j+99);
    float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;
    return (int(5*((i+DIM)*s+y))%2+int(5*((DIM*2-i)*s+y))%2)*127;
}
unsigned char BL(int i,int j){
    float s=3./(j+99);
    float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;
    return (int(29*((i+DIM)*s+y))%2+int(29*((DIM*2-i)*s+y))%2)*127;
}

පාට මේස රෙදි

චලිතයේදී

කේතය මදක් අඩු කිරීමෙන් දශම ස්ථාන 2 ක් සහිත තරංග අවධියක් නිර්වචනය කිරීමට ඉඩ ලබා දේ, එය සුමට සජීවිකරණය සඳහා ප්‍රමාණවත් තරම් රාමු සඳහා ප්‍රමාණවත් වේ. මුහුදු අසනීප ඇතිවීම වළක්වා ගැනීම සඳහා මම මෙම අවස්ථාවෙහිදී විස්තාරය අඩු කර ඇති අතර රූපයේ මුදුනෙන් අන්වර්ථය තල්ලු කිරීම සඳහා මුළු රූපය තවත් පික්සල් 151 ක් (අමතර අක්ෂර 1 ක වියදමින්) මාරු කර ඇත. සජීවිකරණ අන්වර්ථකරණය විස්මිතයි.

unsigned char RD(int i,int j){
#define P 6.03
float s=3./(j+250),y=(j+sin((i*i+_sq(j-700)*5)/100./DIM+P)*15)*s;return (int((i+DIM)*s+y)%2+int((DIM*2-i)*s+y)%2)*127;}

unsigned char GR(int i,int j){
float s=3./(j+250);
float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM+P)*15)*s;
return (int(5*((i+DIM)*s+y))%2+int(5*((DIM*2-i)*s+y))%2)*127;}

unsigned char BL(int i,int j){
float s=3./(j+250);
float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM+P)*15)*s;
return (int(29*((i+DIM)*s+y))%2+int(29*((DIM*2-i)*s+y))%2)*127;}

සජීවිකරණ මේස රෙදි


15
මෙය පුරාවෘත්තයකි. (Y) එය දිගටම කරගෙන යන්න. : පී
මොහොමඩ් අරීබ් සිද්දිකි

නමුත් චලිතය හරියටම ක්‍රියාත්මක වන්නේ කෙසේද? මුල් රාමුව තුළ රාමු වෙනස් කිරීමේ තර්කනයක් නොමැත, තිබේද?
esteewhy

2
නිශ්චල රූප පමණක් නිපදවිය හැක්කේ ඇයි? GIF නිශ්චල රාමු අනුක්‍රමයක් පෙන්වන අතර, ඒ සෑම එකක්ම නිපදවා ඇත්තේ පසු අගය වෙනස් කිරීමෙනි #define P. අමතර අක්ෂර සඳහා ඉඩ දීම සඳහා ගොල්ෆ් ක්‍රීඩා කිරීම අවශ්‍ය විය #define P 6.03.
ට්‍රයිකොප්ලැක්ස්

4
නවත්වන්න! ඉහළම පිළිතුර ඉහළ නැංවීමට ඔබට ඇත්තටම අවශ්‍යද? තවත් සමහර විට ඔබ ඊළඟ පිටු දෙකක් හරහා පහළට අනුචලනය නම් තවත් රසවත් අය.
ට්‍රයිකොප්ලැක්ස්

1
පිළිතුරු "පැරණිතම" ලෙස වර්ග කිරීමට මම නිර්දේශ කරමි, එවිට නව පිළිතුරු ලෙස නව ප්‍රවේශයන් වර්ධනය වූ ආකාරය ඔබට දැකගත හැකිය.
ට්‍රයිකොප්ලැක්ස්

191

සසම්භාවී චිත්ර ශිල්පියා

රූප විස්තරය මෙහි ඇතුළත් කරන්න

char red_fn(int i,int j){
#define r(n)(rand()%n)
    static char c[1024][1024];return!c[i][j]?c[i][j]=!r(999)?r(256):red_fn((i+r(2))%1024,(j+r(2))%1024):c[i][j];
}
char green_fn(int i,int j){
    static char c[1024][1024];return!c[i][j]?c[i][j]=!r(999)?r(256):green_fn((i+r(2))%1024,(j+r(2))%1024):c[i][j];
}
char blue_fn(int i,int j){
    static char c[1024][1024];return!c[i][j]?c[i][j]=!r(999)?r(256):blue_fn((i+r(2))%1024,(j+r(2))%1024):c[i][j];
}

මෙන්න අහඹු ලෙස පදනම් වූ ප්‍රවේශයකි. පික්සෙල් වලින් 0.1% ක් සඳහා එය අහඹු වර්ණයක් තෝරා ගනී, අනෙක් අයට එය අහඹු යාබද පික්සෙල් මෙන් එකම වර්ණය භාවිතා කරයි. සෑම වර්ණයක්ම මෙය ස්වාධීනව කරන බව සලකන්න, එබැවින් මෙය ඇත්ත වශයෙන්ම අහඹු කොළ, නිල් සහ රතු පින්තූරයක ආවරණයක් පමණි. විවිධ ලකුණු වල විවිධ ප්‍රති results ල ලබා ගැනීම සඳහා, ඔබ ශ්‍රිතයට එක් srand(time(NULL))කළ යුතුය main.

දැන් සමහර වෙනස්කම් සඳහා.

පික්සෙල් මඟ හැරීමෙන් අපට එය තව ටිකක් බොඳ කළ හැකිය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

එවිට අපට වර්ණ සෙමෙන් වෙනස් කළ හැකිය, එහිදී පිටාර ගැලීම්වල හදිසි වෙනස්වීම් ඇති වන අතර එමඟින් බුරුසු පහරවල් මෙන් පෙනේ

රූප විස්තරය මෙහි ඇතුළත් කරන්න

මට හඳුනාගත යුතු දේවල්:

  • කිසියම් හේතුවක් නිසා මට srandසෙග්ෆෝල්ට් එකක් ලබා නොගෙන එම කාර්යයන් තුළට දැමිය නොහැක.
  • මට අහඹු ලෙස වර්ණ තුනම එක හා සමානව ගමන් කළ හැකි නම් එය තව ටිකක් පිළිවෙලට පෙනේ.

ඔබට අහඹු ඇවිදීමේ සමස්ථානික ද කළ හැකිය

static char c[1024][1024];return!c[i][j]?c[i][j]=r(999)?red_fn((i+r(5)+1022)%1024,(j+r(5)+1022)%1024):r(256):c[i][j];

ඔයාට දෙන්න

රූප විස්තරය මෙහි ඇතුළත් කරන්න

තවත් අහඹු සිතුවම්

මම මේ සමඟ තව ටිකක් සෙල්ලම් කර වෙනත් අහඹු සිතුවම් නිර්මාණය කර ඇත්තෙමි. මෙම අභියෝගයේ සීමාවන් තුළ මේ සියල්ල කළ නොහැකි බැවින් ඒවා මෙහි ඇතුළත් කිරීමට මට අවශ්‍ය නැත. නමුත් මම ඒවා නිෂ්පාදනය කළ ආකාරය පිළිබඳ විස්තර කිහිපයක් සමඟ මෙම ඉම්ගර් ගැලරියේ ඔබට දැක ගත හැකිය .

මෙම සියලු හැකියාවන් රාමුවක් බවට වර්ධනය කර එය GitHub මත තැබීමට මම පෙළඹී සිටිමි. (මේ වගේ දේවල් දැනටමත් නොපවතින නමුත් එය කෙසේ හෝ විනෝදජනකයි!)


12
මම මේවාට කැමතියි. පික්සල් දත්ත වලට ප්‍රවේශය නොමැතිව යාබද පික්සෙල් සැලකිල්ලට ගත හැකි බව මම නොදැන සිටියෙමි - සුමට වැඩ!
ට්‍රයිකොප්ලැක්ස්

1
රූපයේ සෑම වර්ණයක්ම පික්සෙල් එකක් දැමිය යුතු නීති රීති පැවති මෙම පැරණි තරඟය මට බොහෝ සෙයින් මතක් කර දෙයි.
ටෙහ් ඉන්ටර්නෙට්ස් කැට්ස්

2
වාව්! මෙම පින්තූර ඇත්තෙන්ම ලස්සනයි!
raptortech97

1
සිසිල් ගැලරිය, රේඩියල් ඒවා පිළිවෙලට තිබේ.
ටෙහ් ඉන්ටර්නෙට්ස් කැට්ස්

2
මට පෙනේ Reptar : පෝස්ට් එකේ අන්තිම රූපය (සමස්ථානික එක), ඉහළ දකුණේ හතරැස්.
ටිම් පෙඩරික්

162

සමහරක් ඉතා වැදගත් කරුණු

ඔව්, එය හරියටම නම් කළ යුතු දේ මම දැන සිටියෙමි.

සමහරක් ඉතා වැදගත් කරුණු

unsigned short RD(int i,int j){
    return(sqrt(_sq(73.-i)+_sq(609-j))+1)/(sqrt(abs(sin((sqrt(_sq(860.-i)+_sq(162-j)))/115.0)))+1)/200;
}
unsigned short GR(int i,int j){
    return(sqrt(_sq(160.-i)+_sq(60-j))+1)/(sqrt(abs(sin((sqrt(_sq(86.-i)+_sq(860-j)))/115.0)))+1)/200;
}
unsigned short BL(int i,int j){
    return(sqrt(_sq(844.-i)+_sq(200-j))+1)/(sqrt(abs(sin((sqrt(_sq(250.-i)+_sq(20-j)))/115.0)))+1)/200;
}

සංස්කරණය කරන්න: තවදුරටත් භාවිතා නොවේ pow. 2 වන සංස්කරණය: hiPhiNotPi පෙන්වා දුන්නේ මට අබ්බස් තරම් භාවිතා කිරීමට අවශ්‍ය නොවන බවයි.

වෙනත් පින්තූරයක් ලබා ගැනීම සඳහා ඔබට යොමු ලකුණු ඉතා පහසුවෙන් වෙනස් කළ හැකිය:

තවත් ඉතා වැදගත් කරුණු කිහිපයක්

unsigned short RD(int i,int j){
    return(sqrt(_sq(148.-i)+_sq(1000-j))+1)/(sqrt(abs(sin((sqrt(_sq(500.-i)+_sq(400-j)))/115.0)))+1)/200;
}
unsigned short GR(int i,int j){
    return(sqrt(_sq(610.-i)+_sq(60-j))+1)/(sqrt(abs(sin((sqrt(_sq(864.-i)+_sq(860-j)))/115.0)))+1)/200;
}
unsigned short BL(int i,int j){
    return(sqrt(_sq(180.-i)+_sq(100-j))+1)/(sqrt(abs(sin((sqrt(_sq(503.-i)+_sq(103-j)))/115.0)))+1)/200;
}

Ric එරික්ට්‍රෙස්ලර් පෙන්වා දුන්නේ මගේ පින්තූරවල බැට්මෑන් ඇති බවයි.

වවුල් මිනිසා


1
Ay ජේකොමිනෙක් මම නොදනිමි, මම ඒ වන විටත් සිටියේ නැත:
cjfaure

2
Ay ජේකොමිනෙක් මට එය හමු විය. web.archive.org/web/19990221092445/http://www.blorf.com/...
cjfaure

1
@cjfaure ඔහ්! ඔබට ස්තුතියි! විස්තරයේ අවසාන අනුවාදය මෙහි ඇති බව පෙනේ: web.archive.org/web/20031205062033/http://www.blorf.com/~mrad/… කේතය ප්‍රභව බලකායට ගෙන යන ලදි. පසුගිය වසරේ පවා යාවත්කාලීන කරන ලදි! sourceforge.net/projects/libswirlies
ජේ කොමිනෙක්

1
මගේ ප්රියතම එකක්!
කැල්වින්ගේ විනෝදාංශ

1
මෙය ලස්සනයි - නමුත් මට එය කිසිසේත් ප්‍රතිනිෂ්පාදනය කළ නොහැක! මට ලබා ගත හැකි සමීපතම දෙය නම් පීපීඑම් නුසුදුසු ලෙස ජනනය කරන විට (එම්එස්බී වෙනුවට එල්එස්බී) එවිට පවා එය විවිධ වර්ණවලින් යුත් ඇල්ෆා මිශ්‍රිත කවයන් මෙන් පෙනේ.
ඩ්‍රීම් වොරියර්

123

ඇත්ත වශයෙන්ම, මැන්ඩෙල්බ්‍රොට් ඉදිරිපත් කිරීමක් තිබිය යුතුය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

char red_fn(int i,int j){
    float x=0,y=0;int k;for(k=0;k++<256;){float a=x*x-y*y+(i-768.0)/512;y=2*x*y+(j-512.0)/512;x=a;if(x*x+y*y>4)break;}return k>31?256:k*8;
}
char green_fn(int i,int j){
    float x=0,y=0;int k;for(k=0;k++<256;){float a=x*x-y*y+(i-768.0)/512;y=2*x*y+(j-512.0)/512;x=a;if(x*x+y*y>4)break;}return k>63?256:k*4;
}
char blue_fn(int i,int j){
    float x=0,y=0;int k;for(k=0;k++<256;){float a=x*x-y*y+(i-768.0)/512;y=2*x*y+(j-512.0)/512;x=a;if(x*x+y*y>4)break;}return k;
}

දැන් වර්ණ පටිපාටිය වැඩි දියුණු කිරීමට උත්සාහ කරයි. මම ගණනය කිරීම සාර්වයක් ලෙස අර්ථ දක්වා red_fnඇති අතර අනෙක් දෙකෙහිම එම සාර්ව භාවිතා කරන්නේ නම් හරිත හා නිල් පැහැයෙන් විසිතුරු වර්ණ තෝරා ගැනීම සඳහා මට තවත් අක්ෂර තිබේ නම් එය වංචාවක්ද?

සංස්කරණය කරන්න: මෙම ඉතිරි බයිට් කිහිපය සමඟ හොඳ වර්ණ පටිපාටි ඉදිරිපත් කිරීම ඇත්තෙන්ම දුෂ්කර ය. මෙන්න තවත් අනුවාදයක්:

/* RED   */ return log(k)*47;
/* GREEN */ return log(k)*47;
/* BLUE  */ return 128-log(k)*23;

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ගිතුබ්ෆාගෝසයිට්ගේ යෝජනාවට අනුව සහ ටොඩ් ලෙමන්ගේ වැඩිදියුණු කිරීම් සමඟ අපට කුඩා කොටස් පහසුවෙන් තෝරා ගත හැකිය:

උදා

char red_fn(int i,int j){
    float x=0,y=0,k=0,X,Y;while(k++<256e2&&(X=x*x)+(Y=y*y)<4)y=2*x*y+(j-89500)/102400.,x=X-Y+(i-14680)/102400.;return log(k)/10.15*256;
}
char green_fn(int i,int j){
    float x=0,y=0,k=0,X,Y;while(k++<256e2&&(X=x*x)+(Y=y*y)<4)y=2*x*y+(j-89500)/102400.,x=X-Y+(i-14680)/102400.;return log(k)/10.15*256;
}
char blue_fn(int i,int j){
    float x=0,y=0,k=0,X,Y;while(k++<256e2&&(X=x*x)+(Y=y*y)<4)y=2*x*y+(j-89500)/102400.,x=X-Y+(i-14680)/102400.;return 128-k/200;
}

ලබා දෙයි

රූප විස්තරය මෙහි ඇතුළත් කරන්න


12
මට පාපොච්චාරණය කළ යුතුව ඇත, මම මැන්ඩෙල්බ්‍රොට් කට්ටලය ක්‍රියාත්මක කළ පළමු අවස්ථාව මෙයයි.
මාටින් එන්ඩර්

2
සම්පුර්ණ මැන්ඩෙල්බ්‍රොට් කට්ටලය (+1, මාර්ගය වන විට!) මෙන් නිරූපිත ලෙස පෙනේ, පරාමිතීන් සැකසීමට සහ ගැඹුරු විශාලනයක විශ්මය ජනක ලෙස විකෘති වූ විස්තර කිහිපයක් සමඟ පිළිතුරක් පළ කිරීමට ඔබට ප්‍රමාණවත් ඉඩක් ඉතිරි වී ඇති බව පෙනේ.
ට්‍රයිකොප්ලැක්ස්

1
ithithubphagocyte මම දැනටමත් ඒ ගැන සිතුවෙමි, නමුත් හොඳ පරාමිතීන් හදුනා ගන්නා තෙක් සෑම අවස්ථාවකදීම නැවත සකස් කිරීමට සහ නැවත ක්‍රියාත්මක කිරීමට හා පරිවර්තනය කිරීමට කරදර විය නොහැක;). පසුව එසේ කළ හැකිය. මුලින්ම මම සම්පූර්ණයෙන්ම වෙනස් ශ්‍රිතයක් උත්සාහ කළ යුතුයි. ;)
මාටින් එන්ඩර්

2
ith ගිතුබ්ෆාගෝසයිට් අවසානයේ එය එකතු කිරීමට පටන් ගත්තේය. යෝජනාවට ස්තූතියි!
මාටින් එන්ඩර්

2
ස්තූතියි od ටොඩ්, මම ඒ සමඟ අවසන් පින්තූරය යාවත්කාලීන කළෙමි. මම පුනරාවර්තන 25600 ක් භාවිතා කළෙමි. ;)
මාටින් එන්ඩර්

110

ජූලියා කට්ටල

මැන්ඩෙල්බ්‍රෝට් තිබේ නම්, ජූලියා කට්ටලයක් ද තිබිය යුතුය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඔබට පරාමිතීන් සහ කාර්යයන් නවීකරණය කිරීම සඳහා පැය ගණනක් ගත කළ හැකිය, එබැවින් මෙය විනීත පෙනුමක් ඇති ඉක්මන් එකක් පමණි.

මාටින්ගේ සහභාගීත්වයෙන් ආශ්වාදයක්.

unsigned short red_fn(int i, int j){
#define D(x) (x-DIM/2.)/(DIM/2.)
float x=D(i),y=D(j),X,Y,n=0;while(n++<200&&(X=x*x)+(Y=y*y)<4){x=X-Y+.36237;y=2*x*y+.32;}return log(n)*256;}

unsigned short green_fn(int i, int j){
float x=D(i),y=D(j),X,Y,n=0;while(n++<200&&(x*x+y*y)<4){X=x;Y=y;x=X*X-Y*Y+-.7;y=2*X*Y+.27015;}return log(n)*128;}

unsigned short blue_fn(int i, int j){
float x=D(i),y=D(j),X,Y,n=0;while(n++<600&&(x*x+y*y)<4){X=x;Y=y;x=X*X-Y*Y+.36237;y=2*X*Y+.32;}return log(n)*128;}

ඔබ RNG ටිකක් කැමතිද?

හරි, ස්පාර්ගේ ප්‍රකාශය මෙම කුඩා ජූලියාස්ගේ පරාමිතීන් අහඹු ලෙස වෙනස් කිරීමට මාවතකට යොමු කළේය. මම මුලින් උත්සාහ කළේ එහි time(0)ප්‍රති result ලය සමඟ බිට්-මට්ටමේ අනවසරයෙන් ඇතුළුවීමට නමුත් C ++ විසින් ෂඩාස්රාකාර පාවෙන ලක්ෂ්‍ය ලිටරල් වලට ඉඩ නොදේ, එබැවින් මෙය අක්‍රීය අවසානයක් විය (අවම වශයෙන් මගේ සීමිත දැනුම සහිතව). එය සාක්ෂාත් කර ගැනීම සඳහා මට යම් තරමක වාත්තු කිරීමක් කළ හැකි නමුත් එය බයිට් 140 ට නොගැලපේ.

කෙසේ වෙතත් මට වැඩි ඉඩක් ඉතිරිව නොතිබුණි, එබැවින් මගේ මැක්‍රෝස් තැබීමට රතු ජූලියා අතහැර දමා වඩාත් සාම්ප්‍රදායික ආර්එන්ජී ( timeබීජ හා සැබෑ rand(), වෝහූ!) ලබා ගැනීමට මට සිදු විය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

අපොයි, යමක් අතුරුදහන්. නිසැකවම, මෙම පරාමිතීන් ස්ථිතික විය යුතුය, නැතිනම් ඔබට අමුතු ප්‍රති results ල ලබා ගත හැකිය (නමුත් විහිලු, සමහර විට මම රසවත් යමක් සොයා ගන්නේ නම් මම ටිකක් පසුව විමර්ශනය කරමි).

ඉතින් මෙන්න අපි හරිත හා නිල් නාලිකා පමණක් ඇත:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

රූප විස්තරය මෙහි ඇතුළත් කරන්න

රූප විස්තරය මෙහි ඇතුළත් කරන්න

දැන් අපි හිස්කම පිරවීම සඳහා සරල රතු රටාවක් එකතු කරමු. සැබවින්ම පරිකල්පනීය නොවේ, නමුත් මම ග්‍රැෆික් ක්‍රමලේඛකයෙක් නොවේ ... තවමත් :-)

රූප විස්තරය මෙහි ඇතුළත් කරන්න

රූප විස්තරය මෙහි ඇතුළත් කරන්න

අහඹු පරාමිතීන් සහිත නව කේතය:

unsigned short red_fn(int i, int j){
static int n=1;if(n){--n;srand(time(0));}
#define R rand()/16384.-1
#define S static float r=R,k=R;float
return _cb(i^j);}

unsigned short green_fn(int i, int j){
#define D(x) (x-DIM/2.)/(DIM/2.),
S x=D(i)y=D(j)X,Y;int n=0;while(n++<200&&(X=x)*x+(Y=y)*y<4){x=X*X-Y*Y+r;y=2*X*Y+k;}return log(n)*512;}

unsigned short blue_fn(int i, int j){
S x=D(i)y=D(j)X,Y;int n=0;while(n++<200&&(X=x)*x+(Y=y)*y<4){x=X*X-Y*Y+r;y=2*X*Y+k;}return log(n)*512;}

දැන් ඉඩ තියෙනවා ...


සෑම ධාවනයක්ම srand (time (0) සහ rand ()? හෝ වේලාව (0) සමඟ අහඹු ලෙස වෙනස් කිරීමට ඔබට ඉඩක් තිබේද?
Sparr

2
ඒ අන්තිම එක මගේ බිත්තියට යනවා.
cjfaure

ඔබේ යෝජනාව සමඟ ස්පාර් යාවත්කාලීන කරන ලදි. ටිකක් විනෝද වුණා :-).
ටෙහ් ඉන්ටර්නෙට්ස් කැට්ස්

4
මට වඩාත්ම කැමති දේ මට කිව නොහැක: ඔබේ පිළිතුර හෝ ඔබේ පරිශීලක නාමය
විලියම් බාබෝසා

107

මෙය i, j පරාමිතීන් කිසිසේත් භාවිතා නොකරන නිසා මෙය සිත්ගන්නා සුළුය. ඒ වෙනුවට එය ස්ථිතික විචල්‍යයකින් තත්වය සිහිපත් කරයි.

unsigned char RD(int i,int j){
   static double k;k+=rand()/1./RAND_MAX;int l=k;l%=512;return l>255?511-l:l;
}
unsigned char GR(int i,int j){
   static double k;k+=rand()/1./RAND_MAX;int l=k;l%=512;return l>255?511-l:l;
}
unsigned char BL(int i,int j){
   static double k;k+=rand()/1./RAND_MAX;int l=k;l%=512;return l>255?511-l:l;
}

වර්ණවත්


මෙම කේතයේ ප්‍රති results ල විවිධ වේදිකා / සම්පාදකයින් මත දැකීම සිත්ගන්නා සුළු වනු ඇත. RAND_MAX හි වටිනාකම පුළුල් ලෙස වෙනස් වන අතර සම්පූර්ණයෙන්ම වෙනස් රූප ලබා දිය හැකිය ...
ට්‍රයිකොප්ලැක්ස්

5
එය බොහෝ වෙනස් නොවිය යුතුය. (ද්විත්ව) සසම්භාවී () / RAND_MAX සෑම විටම [0.0, 1.0] පරාසයේ තිබිය යුතුය.
මැනුවෙල් කස්ටන්

2
මෙය මගේ ප්‍රියතම එකක්!
කැල්වින්ගේ විනෝදාංශ

2
එය රසවත් පමණක් නොවේ - එය ලස්සනයි!
මාටින් තෝමා

104

රූප

/* RED */
    int a=(j?i%j:i)*4;int b=i-32;int c=j-32;return _sq(abs(i-512))+_sq(abs(j-512))>_sq(384)?a:int(sqrt((b+c)/2))^_cb((b-c)*2);
/* GREEN */
    int a=(j?i%j:i)*4;return _sq(abs(i-512))+_sq(abs(j-512))>_sq(384)?a:int(sqrt((i+j)/2))^_cb((i-j)*2);
/* BLUE */
    int a=(j?i%j:i)*4;int b=i+32;int c=j+32;return _sq(abs(i-512))+_sq(abs(j-512))>_sq(384)?a:int(sqrt((b+c)/2))^_cb((b-c)*2);

3
ඒක ඇත්තටම ලස්සනයි, +1.
මයිලෝ

3
මෙය මගේ ප්‍රියතමය. එය වෘත්තීමය වශයෙන් සාදන ලද ග්‍රැෆික් මෝස්තරයක් මෙන් පෙනේ. : D
cjfaure

4
එය මයික්‍රොප්‍රොසෙසර වල වේෆරයක් මෙන් පෙනේ. macrophotographer.net/images/ss_rvsi_5.jpg
s0rce

එය අවම බිතුපතක් මෙන් පෙනේ .
AL


81

බුද්ධබ්‍රොට් (+ ඇන්ටිබුද්බ්‍රොට්)

සංස්කරණය කරන්න: එය දැන් නිසි බුද්ධබ්‍රොට් ය!

සංස්කරණය කරන්න: බයිට් සීමාව තුළ වර්ණ තීව්‍රතාව පාලනය කිරීමට මට හැකි විය, එබැවින් පිටාර ගැලීම නිසා තවත් ව්‍යාජ කළු පික්සෙල් නොමැත.

මට ඇත්තටම ඕන වුණේ හතරට පස්සේ නවත්වන්න ... ඒත් ...

රූප විස්තරය මෙහි ඇතුළත් කරන්න

උඩුගත කිරීමේදී මෙය තරමක් සම්පීඩිත වේ (සහ කාවැද්දීමෙන් හැකිලී යයි) එබැවින් ඔබට සියලු විස්තර අගය කිරීමට අවශ්‍ය නම්, මෙහි සිත් ඇදගන්නා සුළු 512x512 කැපීම සිදු කර ඇත (එය සම්පීඩිත නොවන අතර එහි සම්පූර්ණ ප්‍රමාණයෙන් දර්ශනය වේ):

රූප විස්තරය මෙහි ඇතුළත් කරන්න

අදහස සඳහා ගිතුබ්ෆාගෝසයිට් වලට ස්තූතියි. මේ සඳහා වර්ණ කාර්යයන් තුනම තරමක් සංකීර්ණ අපයෝජනයක් අවශ්‍ය විය:

unsigned short RD(int i,int j){
    #define f(a,b)for(a=0;++a<b;)
    #define D float x=0,y=0
    static int z,m,n;if(!z){z=1;f(m,4096)f(n,4096)BL(m-4096,n-4096);};return GR(i,j);
}
unsigned short GR(int i,int j){
    #define R a=x*x-y*y+i/1024.+2;y=2*x*y+j/1024.+2
    static float c[DIM][DIM],p;if(i>=0)return(p=c[i][j])>DM1?DM1:p;c[j+DIM][i/2+DIM]+=i%2*2+1;
}
unsigned short BL(int i,int j){
    D,a,k,p=0;if(i<0)f(k,5e5){R;x=a;if(x*x>4||y*y>4)break;GR(int((x-2)*256)*2-p,(y-2)*256);if(!p&&k==5e5-1){x=y=k=0;p=1;}}else{return GR(i,j);}
}

වඩා හොඳ වර්ණ පටිපාටියක් සඳහා බයිට් කිහිපයක් ඉතිරිව ඇත, නමුත් අළු පැහැති රූපයට පහර දෙන කිසිවක් මෙතෙක් මා සොයාගෙන නැත.

ලබා දී ඇති කේතය ආරම්භක ස්ථාන 4096x4096 භාවිතා කරන අතර, ගමන් පථයන් ගැලවී යන්නේද නැද්ද යන්න තීරණය කිරීම සඳහා එක් එක් මත නැවත නැවත 500,000 ක් දක්වා ක්‍රියා කරයි. ඒ සඳහා මගේ යන්ත්‍රයට පැය 6 ත් 7 ත් අතර කාලයක් ගත විය. ඔබට 2k by 2k ජාලයක් සහ 10k පුනරාවර්තනයක් සමඟ හොඳ ප්‍රති results ල ලබා ගත හැකිය, එය මිනිත්තු දෙකක් ගත වන අතර 1k 1 k 1 ග්‍රිඩ් 1k පුනරාවර්තනයක් සහිතව පවා හොඳ පෙනුමක් ලබා ගත හැකිය (තත්පර 3 ක් වැනි කාලයක් ගතවේ). ඔබට එම පරාමිතීන් සමඟ සම්බන්ධ වීමට අවශ්‍ය නම්, වෙනස් කළ යුතු ස්ථාන කිහිපයක් තිබේ:

  • මෙම මැන්ඩෙල්බ්රොට් සහානුයාත වලට ගැඹුර වෙනස් කිරීම සඳහා, අවස්ථා දෙකම වෙනස් 5e5දී BLඔබගේ ප්රතිඵලයක්ම ගණන් කිරීමට.
  • විදුලි බල පද්ධතියට යෝජනාව වෙනස් කිරීම සඳහා, හතර වෙනස් 4096දී RDඔබට අවශ්ය යෝජනාව හා ඊට 1024.දී GRනිවැරදි නීර්ණය කිරීමද පවත්වා ගැනීමට එම සාධකය විසින්.
  • සමහර විට ඔබ ද පරිමාණයට කිරීමට අවශ්ය වනු ඇත return c[i][j]තුල GRපමණක් සෑම පික්සෙල් කරන සංචාර පරම අංකය අඩංගු බැවින්. උපරිම වර්ණය බොහෝ විට පුනරාවර්තන ගණනින් ස්වාධීන වන අතර ආරම්භක ස්ථාන ගණන සමඟ රේඛීයව පරිමාණය කරයි. එබැවින් ඔබට 1k by 1k ජාලයක් භාවිතා කිරීමට අවශ්‍ය නම්, ඔබට අවශ්‍ය return c[i][j]*16;හෝ ඊට සමාන විය හැකිය , නමුත් එම සාධකය සමහර විට යම්කිසි විකාරයක් අවශ්‍ය වේ.

බුද්ධබ්‍රොට් ගැන හුරු නැති අයට (මා වැනි දින කිහිපයකට පෙර), එය පදනම් වී ඇත්තේ මැන්ඩෙල්බ්‍රොට් ගණනය කිරීම මත ය, නමුත් එක් එක් පික්සෙල්වල තීව්‍රතාවය නම්, පැන යන ගමන් පථවල පුනරාවර්තන වලදී එම පික්සෙල් කොපමණ වාර ගණනක් සංචාරය කර ඇත්ද යන්නයි. අප නොනැවතී ගමන් කරන ගමන් වාර ගණනය කරන්නේ නම්, එය ඇන්ටිබුද්බ්‍රොට් ය. එක් එක් වර්ණ නාලිකාව සඳහා වෙනස් පුනරාවර්තන ගැඹුරක් භාවිතා කරන නෙබුලාබ්‍රොට් නමින් ඊටත් වඩා නවීන අනුවාදයක් ඇත. නමුත් මම එය වෙනත් කෙනෙකුට තබමි. වැඩි විස්තර සඳහා, සෑම විටම මෙන්, විකිපීඩියා .

මුලදී, මම පැන යාම සහ පැන නොයන ගමන් පථ අතර වෙනස හඳුනා නොගත්තෙමි. එමගින් කුමන්ත්‍රණයක් ජනනය කරන ලද අතර එය බුද්ධභ්‍රොට් හා ඇන්ටිබුද්බ්‍රොට් (ගිතුබ්ෆාගෝසයිට් පෙන්වා දුන් පරිදි) එකමුතුවකි.

unsigned short RD(int i,int j){
    #define f(a)for(a=0;++a<DIM;)
    static int z;float x=0,y=0,m,n,k;if(!z){z=1;f(m)f(n)GR(m-DIM,n-DIM);};return BL(i,j);
}
unsigned short GR(int i,int j){
    float x=0,y=0,a,k;if(i<0)f(k){a=x*x-y*y+(i+256.0)/512;y=2*x*y+(j+512.0)/512;x=a;if(x*x+y*y>4)break;BL((x-.6)*512,(y-1)*512);}return BL(i,j);
}
unsigned short BL(int i,int j){
    static float c[DIM][DIM];if(i<0&&i>-DIM-1&&j<0&&j>-DIM-1)c[j+DIM][i+DIM]++;else if(i>0&&i<DIM&&j>0&&j<DIM)return log(c[i][j])*110;
}

රූප විස්තරය මෙහි ඇතුළත් කරන්න

මෙය මැකී ගිය ඡායාරූපයක් මෙන් පෙනේ ... මම එයට කැමතියි.


8
මම මෙය තොප්පියක් බවට පත් කරමි.
cjfaure

6
ඔබ මෙය බයිට් 140 ක් 3 ක් දක්වා පහත හෙලීම ගැන මම පුදුම වෙමි. නව Buddabrot රූපය ලස්සනයි.
ට්‍රයිකොප්ලැක්ස්

4
මෙය සැබවින්ම සිත් ඇදගන්නා සුළු ය.
copumpkin

පළමුවැන්න ඇත්තෙන්ම කලාත්මක ය. ජෙලිෆිෂ් මට මතක් කරයි. +1
ඉග්බි ලාර්ජ්මන්

1
මෙය මගේ ප්‍රියතම ඉදිරිපත් කිරීමකි. නියම වැඩක්!
thomallen

76

සියර්පින්ස්කි පෙන්ටගනය

අහඹු ලෙස තෝරාගත් සිරස් තලයකට ලකුණු අඩක් තැබීමෙන් සියර්පින්ස්කිගේ ත්‍රිකෝණය ආසන්න වශයෙන් ගණනය කිරීමේ අවුල් සහගත ක්‍රීඩා ක්‍රමය ඔබ දැක ඇති . මෙන්න මම සිරස් 5 ක් භාවිතා කරමින් එකම ප්රවේශයක් ගෙන ඇත. මට නිරාකරණය කළ හැකි කෙටිම කේතය සිරස් 5 දෘඩ කේතනය කිරීම ඇතුළත් වන අතර, ඒ සියල්ල අක්ෂර 140 කට ගැලපෙන ලෙස මා සතුව නැත. ඒ නිසා මම රතු සං component ටකය සරල පසුබිමකට පවරා ඇති අතර රතු ශ්‍රිතයේ ඇති අමතර ඉඩ ප්‍රමාණය සාර්ව අර්ථ දැක්වීම සඳහා අනෙක් කාර්යයන් දෙක 140 ට අඩු කිරීමට ගෙන ආවෙමි. එබැවින් පෙන්ටගනයේ රතු සං component ටකයක් නොමැති නිසා සෑම දෙයක්ම වලංගු වේ.

unsigned char RD(int i,int j){
#define A int x=0,y=0,p[10]={512,9,0,381,196,981,827,981,DM1,381}
auto s=99./(j+99);return GR(i,j)?0:abs(53-int((3e3-i)*s+j*s)%107);}

unsigned char GR(int i,int j){static int c[DIM][DIM];if(i+j<1){A;for(int n=0;n<2e7;n++){int v=(rand()%11+1)%5*2;x+=p[v];x/=2;y+=p[v+1];y/=2;c[x][y]++;}}return c[i][j];}

unsigned char BL(int i,int j){static int c[DIM][DIM];if(i+j<1){A;for(int n=0;n<3e7;n++){int v=(rand()%11+4)%5*2;x+=p[v];x/=2;y+=p[v+1];y/=2;c[x][y]++;}}return c[i][j];}

එක් ශ්‍රිතයක සාර්ව නිර්වචනය කිරීම හා පසුව තවත් කාර්යයක් සඳහා භාවිතා කිරීම පිළිබඳ ප්‍රශ්නයේ අදහස් දැක්වීමේ අදහස සඳහා මාටින් බොට්නර්ට ස්තූතියි , එසේම ප්‍රධාන කාර්යයේ රාස්ටර් අනුපිළිවෙලට සීමා නොවී අත්තනෝමතික අනුපිළිවෙලකට පික්සෙල් පිරවීම සඳහා මතක සටහන් භාවිතා කිරීම ගැන. .

පෙන්ටගනය

රූපය 500KB ඉක්මවන බැවින් එය ස්වයංක්‍රීයව jpg බවට පරිවර්තනය වේ. මෙය වඩාත් සියුම් විස්තර බොඳ කරයි, එබැවින් මුල් පෙනුම පෙන්වීම සඳහා මම ඉහළ දකුණු කාර්තුව png ලෙස ඇතුළත් කර ඇත:

ඉහළ දකුණේ


73

ෂීට් සංගීතය

සියර්පින්ස්කි සංගීතය. : D චැට් වල සිටින අය පවසන්නේ එය සංගීත පෙට්ටි සඳහා ඇණ ගැසූ කඩදාසි මෙන් පෙනේ.

ෂීට් සංගීතය

unsigned short RD(int i,int j){
    return ((int)(100*sin((i+400)*(j+100)/11115)))&i;
}
unsigned short GR(int i,int j){
    return RD(i,j);
}
unsigned short BL(int i,int j){
    return RD(i,j);
}

මෙය ක්‍රියාත්මක වන ආකාරය පිළිබඳ විස්තර කිහිපයක් ... ම්ම්, එය සැබවින්ම රැලි සහිත සියර්පින්ස්කි ත්‍රිකෝණවල විදැහුම්කරණය පිළිබඳ විශාලනයකි. ෂීට්-මියුසික් පෙනුම (සහ අවහිරතාව) පූර්ණ සංඛ්‍යා කප්පාදුවේ ප්‍රති result ලයකි. මම රතු ශ්‍රිතය වෙනස් කළහොත්, කියන්න,

return ((int)(100*sin((i+400)*(j+100)/11115.0)));

කප්පාදුව ඉවත් කර ඇති අතර සම්පූර්ණ විභේදන විදැහුම අපට ලැබේ:

අවහිර නොකරන ලද තහඩු සංගීතය

ඉතින් ඔව්, එය සිත්ගන්නා සුළුයි.


1
වැනි ඒක Squarepusher බවට පිටපත් neumes
r3mainer

1
qu ස්ක්වාමිෂොසිෆරේජ් මම දැන් බැලුවේ කුමක්ද ...?
cjfaure

:-) ක්රිස් සාංචි හි වීඩියෝ වේ ටිකක් අමුතු, එහෙම නේද?
r3mainer

14
දෙවැන්න මම පිටුව අනුචලනය කරන විට එය චලනය වන බවක් පෙනේ
user13267

5
වෙබ් අඩවිය පහළට අනුචලනය කිරීමේදී, අන්තිමයා සැබවින්ම චලනය වන බවක් පෙනෙන්නට තිබුණි. කදිම දෘෂ්‍ය මායාවක්.
කයිල් කැනොස්

60

අහඹු වොරොනෝයි රූප සටහන් උත්පාදක යන්ත්රය කවුරුහරි?

හරි, මේ කෙනා මට අමාරු කාලයක් දුන්නා. මම හිතන්නේ ප්‍රති some සමහර ඒවා තරම් කලාත්මක නොවුනත් එය ඉතා හොඳයි . අහඹු ලෙස ගණුදෙනුව එයයි. සමහර විට අතරමැදි රූප වඩා හොඳ පෙනුමක් ඇති නමුත් මට ඇත්ත වශයෙන්ම අවශ්‍ය වූයේ වොරොනොයි රූප සටහන් සමඟ පූර්ණ ලෙස ක්‍රියා කරන ඇල්ගොරිතමයක් ලබා ගැනීමටය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

සංස්කරණය කරන්න:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

මෙය අවසාන ඇල්ගොරිතමයේ එක් උදාහරණයකි. රූපය මූලික වශයෙන් වොරොනොයි රූප සටහන තුනක සුපිරි ස්ථානයකි, එක් එක් වර්ණ සංරචක සඳහා එකක් (රතු, කොළ, නිල්).

කේතය

ungolfed, අදහස් දැක්වූ අනුවාදය අවසානයේ

unsigned short red_fn(int i, int j){
int t[64],k=0,l,e,d=2e7;srand(time(0));while(k<64){t[k]=rand()%DIM;if((e=_sq(i-t[k])+_sq(j-t[42&k++]))<d)d=e,l=k;}return t[l];
}

unsigned short green_fn(int i, int j){
static int t[64];int k=0,l,e,d=2e7;while(k<64){if(!t[k])t[k]=rand()%DIM;if((e=_sq(i-t[k])+_sq(j-t[42&k++]))<d)d=e,l=k;}return t[l];
}

unsigned short blue_fn(int i, int j){
static int t[64];int k=0,l,e,d=2e7;while(k<64){if(!t[k])t[k]=rand()%DIM;if((e=_sq(i-t[k])+_sq(j-t[42&k++]))<d)d=e,l=k;}return t[l];
}

එය මට විශාල පරිශ්‍රමයක් දැරීය, එබැවින් විවිධ අවස්ථා වලදී ප්‍රති results ල බෙදා ගැනීමට මට හැඟේ, පෙන්වීමට හොඳ (වැරදි) ඒවා තිබේ.

පළමු පියවර: ලකුණු කිහිපයක් අහඹු ලෙස තබා ගන්න x=y

රූප විස්තරය මෙහි ඇතුළත් කරන්න

මුල් png උඩුගත කිරීමට නොහැකි තරමට බර නිසා මම එය jpeg බවට පරිවර්තනය කර ඇත්තෙමි >2MB, අළු පැහැයට හුරු සෙවන 50 කට වඩා වැඩිය.

දෙවනුව: වඩා හොඳ y ඛණ්ඩාංකයක් තිබිය යුතුය

yඅක්ෂය සඳහා අහඹු ලෙස ජනනය කරන ලද ඛණ්ඩාංක වගුවක් ලබා ගැනීමට මට නොහැකි විය , එබැවින් " අහඹු " ඒවා හැකි තරම් අක්ෂර කිහිපයකින් ලබා ගැනීමට මට සරල ක්‍රමයක් අවශ්‍ය විය. මම xවගුවේ තවත් ලක්ෂ්‍යයක ඛණ්ඩාංකය භාවිතා කිරීමට ගියෙමි AND.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

3 වන: මට මතක නැත නමුත් එය හොඳ අතට හැරේ

නමුත් මේ අවස්ථාවේ මම අක්ෂර 140 කට වඩා වැඩි විය, එබැවින් මට එය තරමක් දුරට ගොල්ෆ් කිරීමට අවශ්‍ය විය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

4 වන: ස්කෑන්ලයින්

විහිළුවක් කිරීම, මෙය අවශ්‍ය නොව සිසිල්, මෙතික්ස් ය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඇල්ගොරිතමයේ ප්‍රමාණය අඩු කිරීමට තවමත් කටයුතු කරමින් සිටින මම ඉදිරිපත් කිරීමට ආඩම්බර වෙමි:

ස්ටාර්ෆොක්ස් සංස්කරණය

රූප විස්තරය මෙහි ඇතුළත් කරන්න

Voronoi instagram

රූප විස්තරය මෙහි ඇතුළත් කරන්න

5 වන ස්ථානය: ලකුණු ගණන වැඩි කරන්න

මට දැන් වැඩකරන කේත කැබැල්ලක් ඇත, එබැවින් අපි ලකුණු 25 සිට 60 දක්වා යමු. රූප විස්තරය මෙහි ඇතුළත් කරන්න

එක් රූපයකින් පමණක් එය දැකීම දුෂ්කර ය, නමුත් ලකුණු සියල්ලම පාහේ එකම yපරාසයක පිහිටා ඇත . ඇත්ත වශයෙන්ම, මම බිට්වේස් මෙහෙයුම වෙනස් කළේ නැත, &42වඩා හොඳය:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

මෙන්න අපි මේ පෝස්ට් එකේ මුල්ම රූපය වගේ. දැන් උනන්දුවක් දක්වන දුර්ලභ අය සඳහා කේතය පැහැදිලි කරමු.

සංකේතවත් නොකළ සහ පැහැදිලි කළ කේතය

unsigned short red_fn(int i, int j)
{
    int t[64],          // table of 64 points's x coordinate
        k = 0,          // used for loops
        l,              // retains the index of the nearest point
        e,              // for intermediary results
        d = 2e7;        // d is the minimum distance to the (i,j) pixel encoutnered so far
        // it is initially set to 2e7=2'000'000 to be greater than the maximum distance 1024²

    srand(time(0));     // seed for random based on time of run
    // if the run overlaps two seconds, a split will be observed on the red diagram but that is
    // the better compromise I found

    while(k < 64)       // for every point
    {
        t[k] = rand() % DIM;        // assign it a random x coordinate in [0, 1023] range
        // this is done at each call unfortunately because static keyword and srand(...)
        // were mutually exclusive, lenght-wise

        if (
            (e=                         // assign the distance between pixel (i,j) and point of index k
                _sq(i - t[k])           // first part of the euclidian distance
                +
                _sq(j - t[42 & k++])    // second part, but this is the trick to have "" random "" y coordinates
                // instead of having another table to generate and look at, this uses the x coordinate of another point
                // 42 is 101010 in binary, which is a better pattern to apply a & on; it doesn't use all the table
                // I could have used 42^k to have a bijection k <-> 42^k but this creates a very visible pattern splitting the image at the diagonal
                // this also post-increments k for the while loop
            ) < d                       // chekcs if the distance we just calculated is lower than the minimal one we knew
        )
        // {                            // if that is the case
            d=e,                        // update the minimal distance
            l=k;                        // retain the index of the point for this distance
            // the comma ',' here is a trick to have multiple expressions in a single statement
            // and therefore avoiding the curly braces for the if
        // }
    }

    return t[l];        // finally, return the x coordinate of the nearest point
    // wait, what ? well, the different areas around points need to have a
    // "" random "" color too, and this does the trick without adding any variables
}

// The general idea is the same so I will only comment the differences from green_fn
unsigned short green_fn(int i, int j)
{
    static int t[64];       // we don't need to bother a srand() call, so we can have these points
    // static and generate their coordinates only once without adding too much characters
    // in C++, objects with static storage are initialized to 0
    // the table is therefore filled with 60 zeros
    // see http://stackoverflow.com/a/201116/1119972

    int k = 0, l, e, d = 2e7;

    while(k<64)
    {
        if( !t[k] )                 // this checks if the value at index k is equal to 0 or not
        // the negation of 0 will cast to true, and any other number to false
            t[k] = rand() % DIM;    // assign it a random x coordinate

        // the following is identical to red_fn
        if((e=_sq(i-t[k])+_sq(j-t[42&k++]))<d)
            d=e,l=k;
    }

    return t[l];
}

මෙතෙක් කියවීමට ස්තූතියි.


1
මම වොරොනොයි රූපසටහන් වලට කැමතියි. ට්වීට් 3 කින් එය සවි කිරීම සඳහා +1!
මාටින් එන්ඩර්

1
මෙය මගේ පුද්ගලික ප්‍රියතමයන්ගෙන් එකකි. ස්කෑන් රේඛා ප්‍රභේද ඉතා සෞන්දර්යාත්මක ය.
ෆ්‍රැක්ටිල්

1
ඔබ කේතය පැහැදිලි කළ ආකාරය ආදරෙයි
ඇන්ඩ්‍රියා

ඩු අ බැරල් රෝල්!
ස්ටාර්සන් හොච්චයිල්ඩ්

4 වන දෙවන පින්තූරය: ස්කෑන්ලයින් ලස්සනයි.
Khaled.K

57

ලයපුනොව් ෆ්‍රැක්ටල්

ලයපුනොව් ෆ්‍රැක්ටල්

මෙය ජනනය කිරීම සඳහා භාවිතා කරන නූල AABAB වන අතර පරාමිති අවකාශය [2,4] x [2,4] විය. ( මෙහි නූල් සහ පරාමිති අවකාශය පැහැදිලි කිරීම )

සීමිත කේත ඉඩක් සහිතව මම සිතුවේ මෙම වර්ණ ගැන්වීම ඉතා සිසිල් බවයි.

    //RED
    float r,s=0,x=.5;for(int k=0;k++<50;)r=k%5==2||k%5==4?(2.*j)/DIM+2:(2.*i)/DIM+2,x*=r*(1-x),s+=log(fabs(r-r*2*x));return abs(s);
    //GREEN
    float r,s=0,x=.5;for(int k=0;k++<50;)r=k%5==2||k%5==4?(2.*j)/DIM+2:(2.*i)/DIM+2,x*=r*(1-x),s+=log(fabs(r-r*2*x));return s>0?s:0;
    //BLUE
    float r,s=0,x=.5;for(int k=0;k++<50;)r=k%5==2||k%5==4?(2.*j)/DIM+2:(2.*i)/DIM+2,x*=r*(1-x),s+=log(fabs(r-r*2*x));return abs(s*x);

මම ද මැන්ඩෙල්බ්‍රොට් කට්ටලයේ වෙනස්කමක් කළෙමි. එය මැන්ඩෙල්බ්‍රොට් කට්ටල සිතියමට සමාන සිතියමක් භාවිතා කරයි. M (x, y) යනු මැන්ඩෙල්බ්‍රොට් සිතියම යැයි පවසන්න. එවිට M (sin (x), cos (y)) යනු මා භාවිතා කරන සිතියම වන අතර, ගැලවීමේ අගයන් පරික්ෂා කිරීම වෙනුවට මම x සහ y භාවිතා කරන්නේ ඒවා සෑම විටම මායිම් වී ඇති බැවිනි.

//RED
float x=0,y=0;for(int k=0;k++<15;){float t=_sq(sin(x))-_sq(cos(y))+(i-512.)/512;y=2*sin(x)*cos(y)+(j-512.0)/512;x=t;}return 2.5*(x*x+y*y);
//GREEN
float x=0,y=0;for(int k=0;k++<15;){float t=_sq(sin(x))-_sq(cos(y))+(i-512.)/512;y=2*sin(x)*cos(y)+(j-512.0)/512;x=t;}return 15*fabs(x);
//BLUE
float x=0,y=0;for(int k=0;k++<15;){float t=_sq(sin(x))-_sq(cos(y))+(i-512.)/512;y=2*sin(x)*cos(y)+(j-512.0)/512;x=t;}return 15*fabs(y);

රූප විස්තරය මෙහි ඇතුළත් කරන්න

සංස්කරණය කරන්න

බොහෝ වේදනාවෙන් පසු මම දෙවන රූපයේ මෝෆිං වල gif එකක් නිර්මාණය කිරීමට පටන් ගතිමි. මේ තියෙන්නේ:

පක්ෂ වේලාව


11
දෙවැන්න සඳහා මනස්කාන්ත පෙනුම.
ටෙහ් ඉන්ටර්නෙට්ස් කැට්ස්

4
මේවා උමතුයි ! +1
cjfaure

10
භයානක අස්ථි බිහිසුණු ය ༼ ༎ ຶ ෴ ຶ ຶ ༽
ටොබියා

1
ශුද්ධ වූ ජරාව එම දෙවන බියජනක ය. සරල z = z ^ 2 + c වලින් ඔබට කොපමණ ප්‍රමාණයක් ලබා ගත හැකිදැයි ඇමසිමිග්.
ටොම්ස්මිං කිරීම

4
එඩ්වඩ් මන්ච් ෆ්‍රැක්ටල් පින්තාරු කිරීමට භාවිතා කළේ නම්, මෙය The Scream හි පෙනුම විය හැකිය.
ටෙහ් ඉන්ටර්නෙට්ස් කැට්ස්

55

මොකද යුනිකෝන්.

මොකද යුනිකෝන්

මට OP අනුවාදය unsigned shortසහ වර්ණ අගයන් 1023 දක්වා වැඩ කිරීමට නොහැකි විය, එබැවින් එය නිවැරදි වන තුරු, මෙහි භාවිතා කරන අනුවාදයක් charසහ උපරිම වර්ණ අගය 255 කි.

char red_fn(int i,int j){
    return (char)(_sq(cos(atan2(j-512,i-512)/2))*255);
}
char green_fn(int i,int j){
    return (char)(_sq(cos(atan2(j-512,i-512)/2-2*acos(-1)/3))*255);
}
char blue_fn(int i,int j){
    return (char)(_sq(cos(atan2(j-512,i-512)/2+2*acos(-1)/3))*255);
}

වර්ණ නාලිකා තනි තනිව දැකීමට මා කැමතිය. එය සිසිල් වනු ඇත.
අත්පුඩි

52

ලොජිස්ටික් හිල්ස්

රූප විස්තරය මෙහි ඇතුළත් කරන්න

කාර්යයන්

unsigned char RD(int i,int j){    
    #define A float a=0,b,k,r,x
    #define B int e,o
    #define C(x) x>255?255:x
    #define R return
    #define D DIM
    R BL(i,j)*(D-i)/D;
}
unsigned char GR(int i,int j){      
    #define E DM1
    #define F static float
    #define G for(
    #define H r=a*1.6/D+2.4;x=1.0001*b/D
    R BL(i,j)*(D-j/2)/D;
}
unsigned char BL(int i,int j){
    F c[D][D];if(i+j<1){A;B;G;a<D;a+=0.1){G b=0;b<D;b++){H;G k=0;k<D;k++){x=r*x*(1-x);if(k>D/2){e=a;o=(E*x);c[e][o]+=0.01;}}}}}R C(c[j][i])*i/D;
}

Ungolfed

# නිර්වචන සියල්ලම අක්ෂර 140 ට අඩු බීඑල් වලට ගැලපේ. තරමක් වෙනස් කරන ලද නිල් ඇල්ගොරිතමයේ නොගැලපෙන අනුවාදය මෙන්න:

for(double a=0;a<DIM;a+=0.1){       // Incrementing a by 1 will miss points
    for(int b=0;b<DIM;b++){         // 1024 here is arbitrary, but convenient
        double r = a*(1.6/DIM)+2.4; // This is the r in the logistic bifurcation diagram (x axis)
        double x = 1.0001*b/DIM;    // This is x in the logistic bifurcation diagram (y axis). The 1.0001 is because nice fractions can lead to pathological behavior.
        for(int k=0;k<DIM;k++){
            x = r*x*(1-x);          // Apply the logistic map to x
            // We do this DIM/2 times without recording anything, just to get x out of unstable values
            if(k>DIM/2){
                if(c[(int)a][(int)(DM1*x)]<255){
                    c[(int)a][(int)(DM1*x)]+=0.01; // x makes a mark in c[][]
                } // In the golfed code, I just always add 0.01 here, and clip c to 255
            }
        }            
    }    
}

දී ඇති r (j අගය) සඳහා x හි අගයන් බොහෝ විට වැටෙන විට, කුමන්ත්‍රණය සැහැල්ලු වේ (සාමාන්‍යයෙන් අඳුරු ලෙස නිරූපණය කෙරේ).


3
අපොයි, මම ඊයේ මෙය කරන්නේ කෙසේද යන්න ගැන කල්පනා කරමින් සිටියෙමි. එය හදුනා ගැනීම සඳහා +1. මම ඇත්ත වශයෙන්ම පලත් එක ඇත්තෙන්ම හොඳයි! :)
මාටින් එන්ඩර්

2
කැත # නිර්වචන සඳහා මම වගකීම භාර ගත්තද, මම ඔබෙන් සහ ගිතුබ්ෆාගෝසයිට් වෙතින් අපිරිසිදු උපක්‍රම සොරකම් කළෙමි. විශේෂයෙන් "# සඳහා G යන්න අර්ථ දක්වන්න."
එරික් ටෙස්ලර්

1
තරඟාවලි වරහන් දෘශ්‍යකරණයක් මෙන් පෙනේ
කෙවින් එල්

3
ඉහළින් පින්තාරු කර නැත: ජයග්‍රාහකයා මිය යයි
එරික් ට්‍රෙස්ලර්

1
මට පෝස්ටර් ප්‍රමාණයේ මුද්‍රණයක් ලබා ගත හැකිද? පසුබිමේ වියැකී ගිය ට්වීට් 3 ක් සමඟ. :-)
ඇන්ඩ rew චියොන්ග්

50

විසරණය සීමිත එකතුව

විසරණය සීමිත සංචලනය සහ සැබෑ ලෝකයේ එය දිස්වන විවිධ ක්‍රම ගණන ගැන මම සැමවිටම පුදුමයට පත් වී සිටිමි .

එක් ශ්‍රිතයකට අක්ෂර 140 කින් මෙය ලිවීම මට අපහසු විය, එබැවින් මට කේතය භයානක කිරීමට සිදු විය (හෝ ලස්සනයි, ඔබ කැමති දේට කැමති නම් ++d%=4සහ for(n=1;n;n++)). වර්ණ ශ්‍රිත තුන එකිනෙක අමතා එකිනෙකා භාවිතා කිරීමට මැක්‍රෝස් අර්ථ දක්වයි, එබැවින් එය හොඳින් කියවන්නේ නැත, නමුත් සෑම ශ්‍රිතයක්ම අක්ෂර 140 ට අඩු ය.

unsigned char RD(int i,int j){
#define D DIM
#define M m[(x+D+(d==0)-(d==2))%D][(y+D+(d==1)-(d==3))%D]
#define R rand()%D
#define B m[x][y]
return(i+j)?256-(BL(i,j))/2:0;}

unsigned char GR(int i,int j){
#define A static int m[D][D],e,x,y,d,c[4],f,n;if(i+j<1){for(d=D*D;d;d--){m[d%D][d/D]=d%6?0:rand()%2000?1:255;}for(n=1
return RD(i,j);}

unsigned char BL(int i,int j){A;n;n++){x=R;y=R;if(B==1){f=1;for(d=0;d<4;d++){c[d]=M;f=f<c[d]?c[d]:f;}if(f>2){B=f-1;}else{++e%=4;d=e;if(!c[e]){B=0;M=1;}}}}}return m[i][j];}

විසරණය සීමිත එකතුව

අංශු ක්‍රමයෙන් සමුච්චය වන ආකාරය දෘශ්‍යමාන කිරීම සඳහා, මම නියමිත වේලාවට ස්නැප්ෂොට් නිෂ්පාදනය කළෙමි. සෑම රාමුවක්ම 1 in for(n=1;n;n++)වෙනුවට 0, -1 << 29, -2 << 29, -3 << 29, 4 << 29, 3 << 29, 2 << 29, 1 << 29, 1. මෙය සෑම ධාවනයක් සඳහාම අක්ෂර 140 සීමාව යටතේ තබා ඇත.

සජීවිකරණ එකතුව

එකිනෙකට සමීපව වැඩෙන සමස්ථයන් එකිනෙකට අංශු අහිමි වන අතර වඩාත් සෙමින් වර්ධනය වන බව ඔබට පෙනේ.


කේතයේ සුළු වෙනසක් සිදු කිරීමෙන් ඔබට තවමත් සමස්ථයන්ට සම්බන්ධ වී නොමැති ඉතිරි අංශු දැකිය හැකිය. මෙයින් පෙන්නුම් කරන්නේ වර්ධනය වඩාත් ඉක්මණින් සිදුවන areas න කලාප සහ සියලු අංශු භාවිතා කර ඇති නිසා වැඩි වර්ධනයක් සිදු නොවන සමස්ථයන් අතර ඉතා විරල කලාපයි.

unsigned char RD(int i,int j){
#define D DIM
#define M m[(x+D+(d==0)-(d==2))%D][(y+D+(d==1)-(d==3))%D]
#define R rand()%D
#define B m[x][y]
return(i+j)?256-BL(i,j):0;}

unsigned char GR(int i,int j){
#define A static int m[D][D],e,x,y,d,c[4],f,n;if(i+j<1){for(d=D*D;d;d--){m[d%D][d/D]=d%6?0:rand()%2000?1:255;}for(n=1
return RD(i,j);}

unsigned char BL(int i,int j){A;n;n++){x=R;y=R;if(B==1){f=1;for(d=0;d<4;d++){c[d]=M;f=f<c[d]?c[d]:f;}if(f>2){B=f-1;}else{++e%=4;d=e;if(!c[e]){B=0;M=1;}}}}}return m[i][j];}

දෘශ්‍ය අංශු සහිත ඩී.එල්.ඒ.

මෙය පෙර ආකාරයටම සජීවීකරණය කළ හැකිය:

අංශු සමඟ සජීවීකරණය



50

සර්පිලාකාර (හරියටම 140)

අවසාන නිෂ්පාදනය

ඔබ ක්‍රියාකාරී ශීර්ෂ සහ වරහන් ඇතුළත් නොකරන්නේ නම් මෙය හරියටම අක්ෂර 140 කි. එය චරිත සීමාවට සරිලන තරම් සර්පිලාකාර සංකීර්ණතාවයකි.

unsigned char RD(int i,int j){
    return DIM-BL(2*i,2*j);
}
unsigned char GR(int i,int j){
    return BL(j,i)+128;
}
unsigned char BL(int i,int j){
    i-=512;j-=512;int d=sqrt(i*i+j*j);return d+atan2(j,i)*82+sin(_cr(d*d))*32+sin(atan2(j,i)*10)*64;
}

මම ක්‍රමයෙන් සරල සර්පිලාකාරයක් මත ගොඩනඟා, සර්පිලාකාර දාරවලට රටා එකතු කර සිසිල් පෙනුමක් ලබා ගැනීම සඳහා විවිධ සර්පිලාකාරයන් ඒකාබද්ධ කළ හැකි ආකාරය අත්හදා බැලුවෙමි. මෙන්න එක් එක් කැබැල්ල කරන්නේ කුමක්ද යන්න පැහැදිලි කරන අදහස් සහිත නොගැලපෙන අනුවාදයකි. පරාමිතීන් සමඟ අවුල් කිරීමෙන් රසවත් ප්‍රති .ල ලබා ගත හැකිය.

unsigned char RD(int i,int j){
    // *2 expand the spiral
    // DIM- reverse the gradient
    return DIM - BL(2*i, 2*j);
}
unsigned char GR(int i,int j){
    // notice swapped parameters
    // 128 changes phase of the spiral
    return BL(j,i)+128;
}
unsigned char BL(int i,int j){
    // center it
    i -= DIM / 2;
    j -= DIM / 2;

    double theta = atan2(j,i); //angle that point is from center
    double prc = theta / 3.14f / 2.0f; // percent around the circle

    int dist = sqrt(i*i + j*j); // distance from center

    // EDIT: if you change this to something like "prc * n * 256" where n
    //   is an integer, the spirals will line up for any arbitrarily sized
    //   DIM value, or if you make separate DIMX and DIMY values!
    int makeSpiral = prc * DIM / 2;

    // makes pattern on edge of the spiral
    int waves = sin(_cr(dist * dist)) * 32 + sin(theta * 10) * 64;

    return dist + makeSpiral + waves;
}

පරාමිතීන් සමඟ අවුල් කිරීම:

මෙන්න, සර්පිලාකාරව පෙලගැසී ඇති නමුත් විවිධ දාර රටා ඇත. ප්‍රධාන උදාහරණයේ ඇති අවහිර දාර වෙනුවට, මෙය සම්පූර්ණයෙන්ම පාප තරංග වලින් සමන්විත වේ.

දාර

මෙන්න, ශ්‍රේණිය ඉවත් කර ඇත:

ශ්‍රේණියක් නැත

සජීවිකරණයක් ( කිසියම් හේතුවක් නිසා මම එය උඩුගත කිරීමෙන් පසුව ලූපයක් ලෙස නොපෙනේ, සමාවෙන්න. එසේම, මට එය හැකිලීමට සිදු විය. ඔබට සජීවිකරණය මඟ හැරුනේ නම් එය නව ටැබ් එකකින් විවෘත කරන්න ):

සජීවිකරණය

තවද, මෙහි ඇති සියලුම පින්තූර සහිත ඉම්ගර් ඇල්බමය මෙන්න . ඕනෑම කෙනෙකුට වෙනත් සිසිල් සර්පිලාකාර රටා සොයාගත හැකිදැයි බැලීමට මම කැමතියි. එසේම, මම කිව යුතුයි, මෙය මෙතෙක් මා දැක ඇති සිසිල් අභියෝගවලින් එකකි. විනෝද වන්න!

සංස්කරණය කරන්න: වෙනස් කළ පරාමිතීන් සහිත මෙම සර්පිලාකාර වලින් සාදන ලද පසුබිම් කිහිපයක් මෙන්න .

Xor / සහ / හෝ මෙහෙයුම් භාවිතයෙන් මා මෙහි දැක ඇති සමහර අස්ථි බිඳීම් සමඟ මගේ සර්පිලාකාර දාර රටා ඒකාබද්ධ කිරීමෙන්, මෙහි අවසාන සර්පිලාකාරය:

අස්ථි සර්පිලාකාරය


2
මේවා අපූරුයි! ඔබ අනෙක් පිළිතුරු දෙස බැලුවහොත් ඔබට තවත් ඉඩක් අවශ්‍ය නම් ගොල්ෆ් ක්‍රීඩාව සඳහා තවත් අදහස් සොයාගත හැකිය. සියලු දෙනාම භාවිතා කළ හැකි සාර්ව අර්ථ දැක්වීම සඳහා පිළිතුරු කිහිපයක් එක් ශ්‍රිතයක # අර්ථ දැක්වීම භාවිතා කරයි, එවිට ඔබට ගණනය කිරීම්වලින් වැඩි ප්‍රමාණයක් වෙනත් වර්ණ ශ්‍රිතවලට පැටවිය හැකිය. මාටින් බොට්නර් මට ඒ උපක්‍රමය හඳුන්වා දුන්නා.
ට්‍රයිකොප්ලැක්ස්

ඔබට ස්තුතියි! මගේ නඩුවේදී, මට සොයාගත හැකි තාක් දුරට, මගේ කේතයේ පවුම් අර්ථ දැක්වීම් වලින් ප්‍රයෝජන ගත හැකි අනුපිටපත් තාර්කික රටා නොමැත. කෙසේ වෙතත්, ඔබ කිසියම් දෙයක් දුටුවහොත්, ඔබ ඒවා මා හඳුනා ගන්නේ නම් මම අගය කරමි, විශේෂයෙන් මම වසර ගණනාවක් තිස්සේ සී / සී ++ භාවිතා කර නොමැති බව දැකීම.
xleviator

අනුපිටපත් සොයා ගැනීම ඇත්ත වශයෙන්ම ඊටත් වඩා උපකාරී වනු ඇත, නමුත් කිසිදු අනුපිටපතක් නොමැතිව ඔබට කේතය බීඑල් සිට ආර්ඩී හෝ ජීඑන් වෙත ගෙන යා හැකිය. එමඟින් ඔබට අමතර කේත සඳහා දෙගුණයක් ඉඩ ලබා දිය යුතුය.
ට්‍රයිකොප්ලැක්ස්

ආ! මට පේනවා. සෑම ක්‍රියාකාරී ශරීරයකටම අක්ෂර 140 ක සීමාවක් ඇති බව මා දැන සිටියේ නැත. ඊළඟ වතාවේ මම විමසුම වඩාත් ප්‍රවේශමෙන් කියවිය යුතු යැයි සිතමි. එය පෙන්වා දීමට ස්තූතියි!
xleviator

1
චැට් එකේ සාකච්ඡා කර ඇති පරිදි , ඔබේ ලූප නොවන GIF පහසුවෙන් නිවැරදි කළ හැකිය. මම හිතන්නේ එය දැනට පෙන්වන කෙටි සජීවිකරණය විශිෂ්ටයි.
ට්‍රයිකොප්ලැක්ස්

47

සම්භාව්යයකට උපහාර

V1 : ඩ්‍රීම්වෝරියර්ගේ "සතුටු වන්න" දේවානුභාවයෙන්, මෙම සරල ඉදිරිපත් කිරීම සෑම වර්ණ නාලිකාවකම කුඩා පික්සෙල්-කලා රූපයක් අන්තර්ගත කරයි. මට කේතය ගොල්ෆ් කිරීමට පවා අවශ්‍ය නොවීය!
V2 : දැන් සැලකිය යුතු ලෙස කෙටි කේතයක් සහ black න කළු මායිමක් සහිතව “ක්‍රීඩා තිරය” හුදකලා කරයි.
V3 : අභ්‍යවකාශ නැව, වෙඩි උණ්ඩ, හානියට පත් පිටසක්වල ජීවීන් සහ නිල් මායිම, අනේ! දළ වශයෙන් මේ සඳහා ඉලක්ක කිරීමට උත්සාහ කිරීම .

// RED
#define g(I,S,W,M)j/128%8==I&W>>(j/32%4*16+i/64)%M&S[abs(i/4%16-8)-(I%2&i%64<32)]>>j/4%8&1
return g(1,"_\xB6\\\x98\0\0\0",255L<<36,64)?j:0;

// GREEN
#define S g(6,"\xFF\xFE\xF8\xF8\xF8\xF8\xF0\x0",1L<<22,64)|i/4==104&j/24==30
return g(2,"<\xBC\xB6}\30p\0\0",4080,32)|S?j:0;

// BLUE
return g(3,"_7\xB6\xFE\x5E\34\0",0x70000000FD0,64)|S|abs(i/4-128)==80&abs(j/4-128)<96|abs(j/4-128)==96&abs(i/4-128)<80?j:0;

අභ්‍යවකාශ ආක්‍රමණිකයන්


උම්බර් ෆෙරූල්ගේ සංස්කරණයකට මම පැකිලී ගියෙමි, ඔහුගේ අවතාරය තවත් පික්සල්-කලාව පදනම් කරගත් ප්‍රවේශයක් එක් කිරීමට මා පෙලඹුණි . කේතයේ මූලික අදහස බොහෝ දුරට අභ්‍යවකාශ ආක්‍රමණිකයින්ට සමාන බැවින්, මම එය මෙම ප්‍රවේශයට එකතු කරමි, නමුත් දෙදෙනාට අනිවාර්යයෙන්ම වෙනස් අභියෝගාත්මක කරුණු තිබුණද. මේ සඳහා, රෝස පැහැය නිවැරදිව ලබා ගැනීම (සුදු වියදමින්) සහ එය තරමක් විශාල ස්ප්‍රයිට් එකක් වීම හොඳ අභියෝගයක් බව ඔප්පු විය. \xFFරතු නාලිකාවේ ඇති ෂඩාස්රාකාර ගැලවීම් ( යනාදිය) ප්‍රභව ගොනුවේ ඒවායේ අනුරූප අක්ෂර නිරූපණය කරයි (එනම්, ප්‍රභව ගොනුවේ රතු නාලිකාව ද්විමය දත්ත අඩංගු වේ), අෂ්ටක ගැලවීම වචනාර්ථයෙන් (එනම් ප්‍රභව ගොනුවේ ඇත).

// RED
#define g(S)(S[i/29%18*2+j/29/8%2]>>j/29%8&1)*DM1*(abs(i-512)<247&abs(j-464)<232)
return g("\xF3\xF2\xF2\x10\xF4\0\xF2\x10\xE1\xE0\x81\0\x80\0\x80\0\0\0\0\0@\0! \x03d8,=\x2C\x99\x84\xC3\x82\xE1\xE3");

// GREEN
return g(";\376z\34\377\374\372\30k\360\3\200\0\0\0\0\0\0\200\0\300\0\341 \373d\307\354\303\374e\374;\376;\377")? DM1 : BL(i,j)? DM1/2 : 0;

// BLUE
return g("\363\360\362\20\364\0\362\20\341\340\200\0\200\0\200\0\0\0\0\0\0\0\0\0\0\08\0<\0\230\0\300\0\341\340") / 2;

බබ් (බබල් බොබ්ල්)


3
මම මෙයට කැමතියි. අමතර විශේෂාංග එකතු කිරීමට විශාල ඉඩ ප්‍රමාණයක් ...
ට්‍රයිකොප්ලැක්ස්

1
ඔව්, ප්‍රමාණය අඩු කිරීම සඳහා අදින්න ඕනෑ තරම් උපක්‍රම තිබේ. මම හෙට එය දීර් ing කිරීමට උත්සාහ කරමි.
ෆයර්ෆ්ලයි

මෙය දැන් ඇදහිය නොහැකි තරම් කෙටි ය. ඔබේ විකිරණශීලී පිළිතුරෙහි මෙම බිට් රටා වලින් එකක් වයනයට ගැලපෙනවාද ...?
ට්‍රයිකොප්ලැක්ස්

@ මාටින්බට්නර් අපොයි, ඔබ නිවැරදිය. මම එය සවි කර කාර්යයන් සඳහා තවත් යාවත්කාලීන කිරීමක් කළෙමි.
ෆයර්ෆ්ලයි

පිළිවෙලට, මම කැමතියි ඔබ පික්සල් 8x8 චිත්‍රය ගෙන එය මැස්සේ “ප්‍රමාණය වෙනස්” කළ ආකාරය. කෙසේ වෙතත්, මට වෙනස්කම් කිහිපයක් කිරීමට සිදු වූ අතර මට තවමත් ඔබේ ප්‍රතිරූපය ලැබෙන්නේ නැත. මම 1L සහ 255L 1LL සහ 255LL ලෙස වෙනස් කළෙමි. එය වඩා හොඳ කර ඇති බැවින්, මම සිතන්නේ ඔබ බොහෝ විට 64bit මාදිලියකින් සම්පාදනය කර ඇති අතර මගේ පළලෙහි යම් යම් ගැටළු ඇති බැවින් මගේ රූපයේ ඉතිරි කොටස වැරදියි. නමුත්, තවමත්, හොඳ රැකියාවක්!
ඩ්‍රීම් වොරියර්

44

ක්‍රියා පින්තාරු කිරීම

මට අවශ්‍ය වූයේ ජැක්සන් පොලොක්ගේ කෘතියට සමාන දෙයක් ප්‍රතිනිර්මාණය කිරීමටයි - තිරස් කැන්වසය මත තීන්ත බින්දු හා වත් කිරීම. මම ප්‍රති results ල වලට කැමති වුවද, කේතය මෙම ප්‍රශ්නයට පළ කිරීමට තරම් දිගු වූ අතර මගේ හොඳම උත්සාහය තවමත් එය බයිට් 600 ක් දක්වා අඩු කළේය. කේතය (139 බයිට්, බයිට් 140 කාර්යයන් ඇති අතර, 140 ක් පිළිවෙළින් bytes) මෙහි පල එසේ දී සුධීමත් සමහර උදව් අතිවිශාල ප්රමාණයක් සමග ඉදිරිපත් කරන ලදී චැට් . විශාල ස්තූතිය:

නිර්දය කණ්ඩායම් ගොල්ෆ් ක්‍රීඩා සැසියක් සඳහා.

unsigned char RD(int i,int j){
#define E(q)return i+j?T-((T-BL(i,j))*q):T;
#define T 255
#define R .1*(rand()%11)
#define M(v)(v>0&v<DIM)*int(v)
#define J [j]*250;
E(21)}

unsigned char GR(int i,int j){
#define S DIM][DIM],n=1e3,r,a,s,c,x,y,d=.1,e,f;for(;i+j<1&&n--;x=R*DM1,y=R*DM1,s=R*R*R*R,a=R*7,r=s*T)for(c=R;r>1;x+=s*cos(a),y+=s*sin
E(21)}

unsigned char BL(int i,int j){static float m[S(a),d=rand()%39?d:-d,a+=d*R,s*=1+R/99,r*=.998)for(e=-r;e++<r;)for(f=-r;f++<r;)m[M(x+e)*(e*e+f*f<r)][M(y+f)]=c;return T-m[i]J}

ක්‍රියා පින්තාරු කිරීම 21, 21

RD සහ GR ශ්‍රිත වලදී E (q) සාර්ව භාවිතා වේ. තර්කයේ අගය වෙනස් කිරීමෙන් වර්ණවල රතු සහ කොළ සංරචක වෙනස් වන ආකාරය වෙනස් වේ. ජේ මැක්‍රෝ අවසන් වන්නේ නිල් සං component ටකය කොතරම් වෙනස් වේද යන්න තීරණය කිරීම සඳහා භාවිතා කරන අංකයකින් වන අතර එය රතු සහ කොළ සංරචක වලට බලපාන අතර ඒවා ගණනය කරනු ලැබේ. විවිධ වර්ණ සංයෝජන පෙන්වීම සඳහා ඊ හි රතු සහ කොළ තර්ක සහිත පින්තූර කිහිපයක් මම ඇතුළත් කර ඇත්තෙමි. ඔබට මේවා තනිවම ක්‍රියාත්මක කිරීමට අවශ්‍ය නම් රතු සහ කොළ අගයන් සඳහා රූපවල සැරිසරන්න.

ක්‍රියා පින්තාරු කිරීම 14, 14

ක්‍රියා පින්තාරු කිරීම 63, 49

ක්‍රියා පින්තාරු කිරීම 56, 42

ක්‍රියා පින්තාරු කිරීම 0, 49

ඔබ ඒවා බාගත කළහොත් මෙම පින්තූර සියල්ලම සම්පූර්ණ ප්‍රමාණයෙන් නැරඹිය හැකිය. පැතලි වර්ණය පීඑන්ජී සම්පීඩන ඇල්ගොරිතමයට ගැලපෙන බැවින් ගොනු ප්‍රමාණය කුඩා වන අතර එම නිසා වෙබ් අඩවියට උඩුගත කිරීම සඳහා පාඩු සම්පීඩනයක් අවශ්‍ය නොවීය.

අපි විවිධ දේ අත්හදා බැලූ විට ගොල්ෆ් ක්‍රීඩාවේ විවිධ අවස්ථා වල පින්තූර බැලීමට ඔබ කැමති නම්, ඔබට ක්‍රියා පින්තාරු කිරීමේ කතාබස් දෙස බැලිය හැකිය .


7
මම දැන් සති කිහිපයක් තිස්සේ මෙම ප්‍රශ්නය සහ සියලු පිළිතුරු අනුගමනය කර ඇති අතර, මට කියන්නට ඇත්තේ, මගේ හකු සැබවින්ම පහත වැටීමට හේතු වූ පළමු ප්‍රශ්නය මෙයයි. ශුද්ධ වූ විස්මිතභාවය. මම කිව්වේ, මෙහි ඇති සියලුම පිළිතුරු විශිෂ්ටයි - නමුත් මෙය මම කවදාවත් බලාපොරොත්තු නොවූ දෙයක් .
ටොඩ් ලෙමන්

1
Od ටොඩ්ලෙමන් ස්තූතියි! මෙය නිසැකවම මට තනිවම කළ හැකි දෙයක් නොවේ - මම උත්සාහ කළ නිසා මම දනිමි ...
ට්‍රයිකොප්ලැක්ස්

2
පුදුමාකාරයි! මෙම ප්‍රශ්නයේ ඇති හොඳම දේ සහ මට නම් එකම (ජයග්‍රාහකයා හැර) මිනිසුන් විසින් ඇද ගන්නා ලද බව පෙනේ :)
සිරියෙල්

1
@ සිරිල්ට බොහොම ස්තූතියි. මෙය මිනිසුන් 5 දෙනෙකු විසින් ඇද ගන්නා ලද්දක් යැයි ඔබට පැවසිය හැකිය ...
ට්‍රයිකොප්ලැක්ස්

43

මෙම කේතයේ පරාමිතීන් සමඟ මම සෙල්ලම් කරන බව සිතුවා ... සියලුම ණය හිමිවන්නේ an මැනුවෙල් කස්ටන් වෙතයි. මේවා ඉතා සිසිල් බැවින් මට පළ කිරීම ප්‍රතික්ෂේප කළ නොහැකි විය. උණුසුම් හා සිසිල්

/* RED */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+(j)*9e-9-.645411;a=c-d+(i)*9e-9+.356888;}
return 1000*pow((n)/800,.5);
/* GREEN */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+(j)*9e-9-.645411;a=c-d+(i)*9e-9+.356888;}
return 8000*pow((n)/800,.5);
/* BLUE */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+(j)*9e-9-.645411;a=c-d+(i)*9e-9+.356888;}
return 8000*pow((n)/800,.5);

BubbleGumRupture http://i57.tinypic.com/3150eqa.png

/* RED */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+(j)*9e-9-.645411;a=c-d+(i)*9e-9+.356888;}
return 8000*pow((n)/800,.5);
/* GREEN */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+(j)*9e-9-.645411;a=c-d+(i)*9e-9+.356888;}
return 40*pow((n)/800,.5);
/* BLUE */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+(j)*9e-9-.645411;a=c-d+(i)*9e-9+.356888;}
return 10*pow((n)/800,.5);

SeussZoom http://i59.tinypic.com/am3ypi.png

/* RED */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+j*8e-8-.645411;a=c-d+i*8e-8+.356888;}
return 2000*pow((n)/800,.5);
/* GREEN */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+j*8e-8-.645411;a=c-d+i*8e-8+.356888;}
return 1000*pow((n)/800,.5);
/* BLUE */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+j*8e-8-.645411;a=c-d+i*8e-8+.356888;}
return 4000*pow((n)/800,.5);

SeussEternalForest http://i61.tinypic.com/35akv91.png

/* RED */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+j*8e-9-.645411;a=c-d+i*8e-9+.356888;}
return 2000*pow((n)/800,.5);
/* GREEN */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+j*8e-9-.645411;a=c-d+i*8e-9+.356888;}
return 1000*pow((n)/800,.5);
/* BLUE */
double a=0,b=0,c,d,n=0;
while((c=a*a)+(d=b*b)<4&&n++<880){b=2*a*b+j*8e-9-.645411;a=c-d+i*8e-9+.356888;}
return 4000*pow((n)/800,.5);

3
මට පෙනෙන්නේ දොස්තර සයූස් වගේ. හරිම සිසිල්!
DLosc

3
හහා, මම ඇත්ත වශයෙන්ම පහළම ගොනු දෙක නම් කළේ Seuss1 සහ Sueuss2
Kyle McCormick

42

සංස්කරණය කරන්න: මෙය දැන් වලංගු පිළිතුර, ඉදිරි ප්රකාශ ස්තුති වේ GRහා BL.

හොෆ්ස්ටැඩර්ගේ Q- අනුක්‍රමය සමඟ විනෝද වීම! අපි යම් ස්ථානයක සිට රේඩියල් දුර ආදානය ලෙසත් ප්‍රතිදානය ප්‍රතිලෝම වර්ණය ලෙසත් භාවිතා කරන්නේ නම්, අපට වර්ණ වයිනයිල් වැනි යමක් ලැබේ.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

අනුක්‍රමය ෆිබොනාච්චි අනුක්‍රමයට බෙහෙවින් සමාන ය, නමුත් අනුපිළිවෙලට පියවර 1 සහ 2 පසුපසට යාම වෙනුවට, ඔබ පෙර අගයන් දෙක වෙත ගෙන යයි ගෙන එම මුදල ගැනීමට පෙර කොපමණ දුරක් යා යුතුද යන්න තීරණය කරයි. එය දළ වශයෙන් රේඛීයව වර්ධනය වේ, නමුත් සෑම මොහොතකම අවුල් ජාලාවක් (වැඩි වන කාල පරාසයන් තුළ) පවතින අතර එය ඊළඟ පිපිරීමට පෙර නැවත රේඛීය අනුක්‍රමයකට නැවත පැමිණේ:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඉතා "පැතලි" වර්ණයෙන් යුත් කලාප වලින් පසු ඔබට මෙම රැළි රූපයේ දැකිය හැකිය.

ඇත්ත වශයෙන්ම, එක් වර්ණයක් පමණක් භාවිතා කිරීම කම්මැලි ය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

දැන් කේතය සඳහා. අනුක්‍රමය ගණනය කිරීම සඳහා මට පුනරාවර්තන ශ්‍රිතය අවශ්‍ය වේ. Negative ණාත්මක වන RDසෑම විටම මම එය භාවිතා කරමි j. අවාසනාවට, එමඟින් රතු නාලිකා අගය ගණනය කිරීමට ප්‍රමාණවත් අක්ෂර ඉතිරි නොවේ, එබැවින් RDඅනෙක් අතට ඇමතුම්GR රතු නාලිකාව නිපදවීම සඳහා ඕෆ්සෙට් එකක් සමඟ ලබා ගනී.

unsigned short RD(int i,int j){
    static int h[1000];return j<0?h[i]?h[i]:h[i]=i<2?1:RD(i-RD(i-1,j),j)+RD(i-RD(i-2,j),j):GR(i+256,j+512);
}
unsigned short GR(int i,int j){
    return DIM-4*RD(sqrt((i-512)*(i-512)+(j-768)*(j-768))/2.9,-1);
}
unsigned short BL(int i,int j){
    return DIM-4*RD(sqrt((i-768)*(i-768)+(j-256)*(j-256))/2.9,-1);
}

ඇත්ත වශයෙන්ම, මෙය අනුක්‍රමය භාවිතා කළ හැකි සරලම භාවිතය වන අතර අක්ෂර විශාල ප්‍රමාණයක් ඉතිරිව ඇත. එය ණයට ගැනීමට සහ වෙනත් පිස්සු දේවල් කිරීමට නිදහස් වන්න!

Q- අනුක්‍රමය අනුව මායිම සහ වර්ණ තීරණය කරන තවත් අනුවාදයක් මෙන්න. මෙම අවස්ථාවේ දී, RDඉදිරි ප්‍රකාශය පවා මට අවශ්‍ය නොවන පරිදි ප්‍රමාණවත් ඉඩක් තිබුණි :

unsigned short RD(int i,int j){
    static int h[1024];return j<0?h[i]?h[i]:h[i]=i<2?1:RD(i-RD(i-1,j),j)+RD(i-RD(i-2,j),j):RD(2*RD(i,-1)-i+512>1023-j?i:1023-i,-1)/0.6;
}
unsigned short GR(int i,int j){
    return RD(i, j);
}
unsigned short BL(int i,int j){
    return RD(i, j);
}

රූප විස්තරය මෙහි ඇතුළත් කරන්න


1
එම දෙවන අළු-ඊෂ් රූපය සිත් ඇදගන්නා සුළු ය!
ටොම්ස්මිං කිරීම

පුනරාවර්තන ඇමතුම් සඳහා වලංගු නොවන ඛණ්ඩාංක සමඟ r / g / b ශ්‍රිතයන් පුනරාවර්තනය ලෙස භාවිතා කිරීමට ඔබට මෙය සංයුක්ත කළ හැකිද?
ස්පාර්

මම බහු වර්ණ රූපයට ආදරය කළා. හොඳ පිළිතුරක්!
ඇලෙක්ස්

41

මෙය ගණනය කරනුයේ මූලාරම්භයෙන් මඳක් off ත් වූ ලක්ෂ්‍යයක් කේන්ද්‍ර කර ගත් කේන්ද්‍රීය කව සමූහයක ජුකොව්ස්කි පරිවර්තනයයි . වර්ණ විචලනය ටිකක් ලබා දීම සඳහා මම නිල් නාලිකාවේ තීව්‍රතාව තරමක් වෙනස් කළෙමි.

unsigned short RD(int i,int j){
    double r=i/256.-2,s=j/256.-2,q=r*r+s*s,n=hypot(r+(.866-r/2)/q,s+(r*.866+s/2)/q),
    d=.5/log(n);if(d<0||d>1)d=1;return d*(sin(n*10)*511+512);
}
unsigned short GR(int i,int j){
    return 0;
}
unsigned short BL(int i,int j){
    double r=i/256.-2,s=j/256.-2,q=r*r+s*s;return RD(i,j)*sqrt(q/40);
}

රූප විස්තරය මෙහි ඇතුළත් කරන්න


39

පරමාර්ථය-සී

C ++ කේතය Objective-C cos හි නැවත ලිවීම මට එය සම්පාදනය කිරීමට නොහැකි විය ... එය මගේ අයිපෑඩ් මත ධාවනය වන විට අනෙක් පිළිතුරට සමාන ප්‍රති results ල ලබා දුන්නේය, එබැවින් ඒ සියල්ල හොඳයි.

මෙන්න මගේ ඉදිරිපත් කිරීම:

ත්රිකෝණ ගලෝර්

එය පිටුපස ඇති කේතය තරමක් සරල ය:

unsigned short red_fn(int i,int j)
{
    return j^j-i^i;
}
unsigned short green_fn(int i,int j)
{
    return (i-DIM)^2+(j-DIM)^2;
}
unsigned short blue_fn(int i,int j)
{
    return i^i-j^j;
}

ඔබ ගුණ කොටු මත විශාලනය කළ හැකි iසහ jවිසින් 0.5, 0.25ඔවුන් සකස් කිරීමට පෙර ආදිය.


ඔබ භාවිතා කළ කේතයම එය බව ඔබට විශ්වාසද? I පෙනුම අමුතුයි, මන්ද (i ^ i) සෑම විටම 0 (XOR) වන අතර ^ 2 XOR බිට් එකකට වඩා වර්ගයක් මෙන් පෙනේ.
මැනුවෙල් ෆෙරේරියා

1
AN මැනුවෙල් ෆෙරේරියා XOR සමඟ, කේතය සැබවින්ම සම්පාදනය කර ඇත්තේ මේ ආකාරයට ය: x^(x-y)^y(මෙය මා පළමු වරට ද විසි කළේය). ඔබට iOS හැකියාවන් තිබේ නම්, මෙන්න මගේ කේතය: gist.github.com/Jugale/28df46f87037d81d2a8f
Max Chuquimia

38

සියර්පින්ස්කි පේන්ට් ස්ප්ලෑෂ්

මට වර්ණ සමඟ වැඩිපුර සෙල්ලම් කිරීමට අවශ්‍ය වූ නිසා මම මගේ අනෙක් පිළිතුර (වේගවත් පිළිතුර) වෙනස් කරමින් අවසානයේදී මෙය අවසන් කළෙමි.

සියර්පින්ස්කි පේන්ට් ස්ප්ලෑෂ්

unsigned short RD(int i,int j){
    return(sqrt(_sq(abs(73.-i))+_sq(abs(609.-j)))+1.)/abs(sin((sqrt(_sq(abs(860.-i))+_sq(abs(162.-j))))/115.)+2)/(115^i&j);
}
unsigned short GR(int i,int j){
    return(sqrt(_sq(abs(160.-i))+_sq(abs(60.-j)))+1.)/abs(sin((sqrt(_sq(abs(73.-i))+_sq(abs(609.-j))))/115.)+2)/(115^i&j);
}
unsigned short BL(int i,int j){
    return(sqrt(_sq(abs(600.-i))+_sq(abs(259.-j)))+1.)/abs(sin((sqrt(_sq(abs(250.-i))+_sq(abs(20.-j))))/115.)+2)/(115^i&j);
}

එය දැන් මගේ අවතාරයයි. : පී


4
හොඳ වැඩක්. සර්, හොඳ රැකියාවක්.
EaterOfCode

37

මෙම සටහන ඉදිරිපත් කිරීමට මට බලකෙරේ, මම "නිර්වචනය නොකළ හැසිරීම" ලෙස හඳුන්වන්නෙමි, එමඟින් ඔබේ සම්පාදකයා විසින් වටිනාකමක් ලබා දිය යුතු යැයි සිතන නමුත් නොකළ යුතු කාර්යයන් සමඟ කරන්නේ කුමක්ද යන්න පැහැදිලි කරයි.

unsigned short red_fn(int i,int j){}
unsigned short green_fn(int i,int j){}
unsigned short blue_fn(int i,int j){}

සියලුම කළු පික්සල්:

සියලුම කළු පික්සල්

ව්‍යාජ සසම්භාවී පික්සල්:

ව්‍යාජ සසම්භාවී පික්සල

ඇත්ත වශයෙන්ම, ඔබේ සම්පාදකයා, පරිගණකය, මතක කළමනාකරු යනාදිය මත පදනම්ව වෙනත් ප්‍රති results ල රාශියක්.


3
ඔබට ලැබුණේ කුමක්ද?
ටොම්ස්මිං

3
මට black න කළු සහ color න වර්ණයක් ලැබුණි, එය වැඩසටහනේ විවිධ ධාවන අතර වෙනස් වූ සම්පාදකයන් සමඟ වෙනස් විය.
ස්පාර්

8
මගේ සම්පාදකයා වටිනාකමක් ලබා නොදීම ගැන මට දෝෂාරෝපණය කරයි.
Pharap

3
Ha ෆාරාප් එය නරක දෙයක් නොවේ :)
ස්පාර්

ඔබේ දෙවන පින්තූරයේ දැක්වෙන පරිදි ඔබට මෙතරම් හොඳ අහඹු බවක් ලැබෙනු ඇතැයි මම සැක කරමි. නියත අගයක්, ලූපයේ දර්ශකය යනාදිය බොහෝ දුරට ඉඩ ඇත (ශ්‍රිතය හැඳින්වෙන විට EAX තුළ ගබඩා කර ඇති ඕනෑම දෙයක්).
උදාහරණය

37

අමිහිරි

groovy.png

සමහර ත්‍රිකෝණමිතිය සහ අමුතු සාර්ව උපක්‍රම.

RD:

#define I (i-512)
#define J (j-512)
#define A (sin((i+j)/64.)*cos((i-j)/64.))
return atan2(I*cos A-J*sin A,I*sin A+J*cos A)/M_PI*1024+1024;

ජී.ආර්:

#undef A
#define A (M_PI/3+sin((i+j)/64.)*cos((i-j)/64.))
return atan2(I*cos A-J*sin A,I*sin A+J*cos A)/M_PI*1024+1024;

බීඑල්:

#undef A
#define A (2*M_PI/3+sin((i+j)/64.)*cos((i-j)/64.))
return atan2(I*cos A-J*sin A,I*sin A+J*cos A)/M_PI*1024+1024;

සංස්කරණය කරන්න: M_PIPOSIX- අනුකූල පද්ධතිවල පමණක් සිටීම නිසා ඉඩ නොදෙන්නේ නම් , එය වචනානුසාරයෙන් ප්‍රතිස්ථාපනය කළ හැකිය 3.14.


1
මට ඔබට අමතර චරිත තිබේ, ඒ acos(-1)සඳහා හොඳ ආදේශකයක් M_PI.
මාටින් එන්ඩර්

33

මම ගණිතයට දක්ෂ නැහැ. මම නිතරම ගණිත පන්තියේ දුප්පත් ශිෂ්‍යයෙක්. ඒ නිසා මම සරල එකක් හැදුවා.

mathpic1.png

මම වෙනස් කළ පරිශීලක 145005003 හි ජාවාස්ක්‍රිප්ට් කේතය භාවිතා කළෙමි . හා මේ මගේ පූර්ණ කේතය .

function red(x, y) {
    return (x + y) & y;
}

function green(x, y) {
    return (255 + x - y) & x;
}

function blue(x, y) {
    // looks like blue channel is useless
    return Math.pow(x, y) & y;
}

එය ඉතා කෙටි බැවින් කාර්යයන් තුනම එක් ට්වීට් එකකට ගැලපේ.


mathpic2.png

function red(x, y) {
    return Math.cos(x & y) << 16;
}

function green(x, y) {
    return red(DIM - x, DIM - y);
}

function blue(x, y) {
    return Math.tan(x ^ y) << 8;
}

තවත් ඉතා කෙටි කාර්යයන්. විවිධ ගණිත කර්තව්‍යයන් සමඟ අවුල් කරමින් සිටියදී මෙම සියර්පින්ස්කි රටාව (සහ සමහර ස්පර්ශක රටාව) මට හමු විය. මෙය සම්පූර්ණ කේතයයි


යන්තම් i&jඇත්තටම Sierpinski ත්රිකෝණය කෙරෙන්නේය. කුමන වන නියමයි .
cjfaure

එම අන්තිම එක පැතිකඩ පින්තූරයට වටිනවා.
mbomb007

32

ජාවාස්ක්‍රිප්ට්

var can = document.createElement('canvas');
can.width=1024;
can.height=1024;
can.style.position='fixed';
can.style.left='0px';
can.style.top='0px';
can.onclick=function(){
  document.body.removeChild(can);
};

document.body.appendChild(can);

var ctx = can.getContext('2d');
var imageData = ctx.getImageData(0,0,1024,1024);
var data = imageData.data;
var x = 0, y = 0;
for (var i = 0, len = data.length; i < len;) {
    data[i++] = red(x, y) >> 2;
    data[i++] = green(x, y) >> 2;
    data[i++] = blue(x, y) >> 2;
    data[i++] = 255;
    if (++x === 1024) x=0, y++;
}
ctx.putImageData(imageData,0,0);

function red(x,y){
if(x>600||y>560) return 1024
x+=35,y+=41
return y%124<20&&x%108<20?1024:(y+62)%124<20&&(x+54)%108<20?1024:0
}

function green(x,y){
if(x>600||y>560) return y%160<80?0:1024
x+=35,y+=41
return y%124<20&&x%108<20?1024:(y+62)%124<20&&(x+54)%108<20?1024:0
}

function blue(x,y) {
return ((x>600||y>560)&&y%160<80)?0:1024;
}

ඇඑජ

තවත් අනුවාදයක්. ක්‍රියාකාරී සිරුරු ට්වීට් කළ හැකිය.

function red(x,y){
c=x*y%1024
if(x>600||y>560) return c
x+=35,y+=41
return y%124<20&&x%108<20?c:(y+62)%124<20&&(x+54)%108<20?c:0
}

function green(x,y){
c=x*y%1024
if(x>600||y>560) return y%160<80?0:c
x+=35,y+=41
return y%124<20&&x%108<20?c:(y+62)%124<20&&(x+54)%108<20?c:0
}

function blue(x,y) {
return ((x>600||y>560)&&y%160<80)?0:x*y%1024;
}

රූප විස්තරය මෙහි ඇතුළත් කරන්න

සංශෝධිත රූප විදැහුම්කරණ කාර්යය. අදින්න (rgbFunctions, setCloseEvent);

function draw(F,e){
    var D=document
    var c,id,d,x,y,i,L,s=1024,b=D.getElementsByTagName('body')[0]
    c=D.createElement('canvas').getContext('2d')
    if(e)c.canvas.onclick=function(){b.removeChild(c.canvas)}
    b.appendChild(c.canvas)
    c.canvas.width=c.canvas.height=s
    G=c.getImageData(0,0,s,s)
    d=G.data
    x=y=i=0;
    for (L=d.length;i<L;){
        d[i++]=F.r(x,y)>>2
        d[i++]=F.g(x,y)>>2
        d[i++]=F.b(x,y)>>2
        d[i++]=255;
        if(++x===s)x=0,y++
    }
    c.putImageData(G,0,0)
}

දම් පාට

var purple = {
    r: function(i,j) {
        if (j < 512) j=1024-j
        return (i % j) | i
    },
    g: function(i,j){
        if (j < 512) j = 1024 -j
        return (1024-i ^ (i %j)) % j
    },
    b: function(i,j){
        if (j < 512) j = 1024 -j
        return 1024-i | i+j %512
    }
};

draw(purple,true);

රූප විස්තරය මෙහි ඇතුළත් කරන්න


වංචාකාරයා! වංචාකාරයා! ; ඩී (එය වලංගු පිළිතුරකි, ඉතා දක්ෂයි: පී නියමයි!)
ටොම්ස්මිං කිරීම

1
හහ් .. ඔව්, මම දනිමි, එබැවින් මම ප්‍රශ්නයේ ආත්මයට වඩා වැඩි යමක් ඉදිරිපත් කළෙමි. මම ඇත්ත වශයෙන්ම රටා සෑදීමට උත්සාහ කළ අතර ඇත්ත වශයෙන්ම යමක් ඇඳිය ​​හැකිදැයි මම කල්පනා කළෙමි.
වුල්ෆ්හැමර්

ඒවායේ කෙළවරට "| Math.random () * 256" යෙදීමෙන් පහළ බිටු වල චිත්‍රපට-ධාන්ය ශබ්දයක් එකතු කිරීමෙන් ඔබට නොගැඹුරු වර්ණ රූප තරමක් පොහොසත් කළ හැකිය. උද්දීපනයන් වෙනස් නොකර අඳුරු සෙවන අහඹු ලෙස අවුල් කරයි. (සහ අන්ධකාරයේ සීමාව අනුව සංඛ්‍යාව වැඩි කරන්න)
කෙන්ට් ෆ්‍රෙඩ්රික්


31

ග්‍රහ පින්තාරුකරු

//red
static int r[DIM];int p=rand()%9-4;r[i]=i&r[i]?(r[i]+r[i-1])/2:i?r[i-1]:512;r[i]+=r[i]+p>0?p:0;return r[i]?r[i]<DIM?r[i]:DM1:0;
//green
static int r[DIM];int p=rand()%7-3;r[i]=i&r[i]?(r[i]+r[i-1])/2:i?r[i-1]:512;r[i]+=r[i]+p>0?p:0;return r[i]?r[i]<DIM?r[i]:DM1:0;
//blue
static int r[DIM];int p=rand()%15-7;r[i]=i&r[i]?(r[i]+r[i-1])/2:i?r[i-1]:512;r[i]+=r[i]+p>0?p:0;return r[i]?r[i]<DIM?r[i]:DM1:0;

මාටින්ගේ පැහැදිලිවම පුදුමාකාර පිවිසුමෙන් දේවානුභාවයෙන් , මෙය ඊට වඩා වෙනස් පියවරකි. අහඹු ලෙස පික්සෙල් වලින් කොටසක් රෝපණය කරනවා වෙනුවට, මම ඉහළ වම් කෙළවරේ RGB (512,512,512) ලෙස ආරම්භ කර එතැන් සිට සෑම වර්ණයක්ම අහඹු ලෙස ඇවිදින්නෙමි. ප්‍රති result ලය දුරේක්ෂයකින් (ඉමෝ) යමක් පෙනේ.

සෑම පික්සෙල් එකක්ම ඉහළින් / වමට ඉහළින් ඇති පික්සෙල් වල සාමාන්‍යය ගෙන ටිකක් අහඹු ලෙස එකතු කරයි. pවිචල්‍යය වෙනස් කිරීමෙන් ඔබට විචල්‍යතාව සමඟ සෙල්ලම් කළ හැකිය , නමුත් මම භාවිතා කරන්නේ හොඳ ශේෂයක් යැයි මම සිතමි (ප්‍රධාන වශයෙන් මම නිල් පාටට කැමති නිසා, වැඩි බොඳ අස්ථාවරත්වය හොඳ ප්‍රති .ල ලබා දෙයි).

සාමාන්‍යය වන විට පූර්ණ සංඛ්‍යා බෙදීමෙන් සුළු negative ණාත්මක නැඹුරුවක් ඇත. මම හිතන්නේ එය සාර්ථක වුවද පහළ කෙළවරට අඳුරු බලපෑමක් ඇති කරයි.

ඇත්ත වශයෙන්ම, එක් ප්‍රති result ලයකට වඩා වැඩි ප්‍රමාණයක් ලබා ගැනීම srand()සඳහා, ඔබේ ප්‍රධාන කාර්යයට රේඛාවක් එක් කිරීමට අවශ්‍ය වේ.

පටි


2
රූපය ටිකක් විශාල නම්, එය ආලෝක කිරණ මෙන් පෙනේ. o:
cjfaure

1
jcjfaure ඔබ පින්තූරයේ සම්පූර්ණ ප්‍රමාණය බැලුවහොත් (බාගත කරන්න / දකුණු ක්ලික් කර රූපය බලන්න / ඔබේ පද්ධතියේ වැඩ කරන ඕනෑම දෙයක්) එවිට අමතර විස්තර සහිතව එය ඊටත් වඩා ලස්සනයි.
ට්‍රයිකොප්ලැක්ස්

එය කළු පැහැයෙන් වට වූ කවයක් බවට පත් කරන්න, එය ග්‍රහලෝකයක් බවට පත් කරයි!
Khaled.K

1
මම මෙය ගෝලයක් වටා බ්ලෙන්ඩරයකින් ඔතා ගැනීමට උත්සාහ කළ අතර, මම සජීවිකරණයක් ඉදිරිපත් කළෙමි. මෙහි ti බලන්න: gfycat.com/SameAnotherDinosaur
starbeamrainbowlabs

30

පරාවර්තනය වූ තරංග

unsigned char RD(int i,int j){
#define A static double w=8000,l,k,r,d,p,q,a,b,x,y;x=i;y=j;for(a=8;a+9;a--){for(b=8;b+9;b--){l=i-a*DIM-(int(a)%2?227:796);
return 0;}

unsigned char GR(int i,int j){
#define B k=j-b*DIM-(int(b)%2?417:606);r=sqrt(l*l+k*k);d=16*cos((r-w)/7)*exp(-_sq(r-w)/120);p=d*l/r;q=d*k/r;x-=p;y-=q;}}
return 0;}

unsigned char BL(int i,int j){AB
return (int(x/64)+int(y/64))%2*255;}

පොකුණක වැටී ඇති ගලක් වැනි ස්ථානයක සිට විහිදෙන තරංගයක පිහිටීම අනුව විකෘති වූ මූලික චෙස් පුවරු රටාව (භෞතික වශයෙන් නිරවද්‍යතාවයෙන් බොහෝ දුරයි!). විචල්‍යය wයනු තරංගය චලනය වූ ස්ථානයේ සිට පික්සෙල් ගණනයි. wප්රමාණවත් තරම් විශාල නම් , තරංගය රූපයේ පැතිවලින් පිළිබිඹු වේ.

w = 225

w = 225 සහිත තරංග

w = 360

w = 360 සහිත තරංග

w = 5390

w = 5390 සමඟ තරංග

තරංගය ප්‍රසාරණය වන විට අනුප්‍රාප්තික අනුපිළිවෙලක් පෙන්වන GIF එකක් මෙන්න. මම විවිධ ප්‍රමාණ ගණනාවක් ලබා දී ඇති අතර, සෑම එකක්ම 500KB ගොනු ප්‍රමාණයේ සීමාව තරම් රාමු පෙන්වයි.

විශාල GIF තරංග

කුඩා GIF තරංග තරංග මධ්‍යම GIF


මට එයට ගැළපෙන මාර්ගයක් සොයා ගත හැකි නම්, තරංග තරණය කරන විට තරංග යථාර්ථවාදී ලෙස පෙනෙන පරිදි තරංග ඇඟිලි ගැසීම් ආදර්ශයට ගැනීමට මම කැමතියි. පරාවර්තනය ගැන මම සතුටු වෙමි.

මම ඇත්ත වශයෙන්ම බයිට් 140 ක 3 ක තරංග පරාවර්තනය ආදර්ශනය කර නැති බව සලකන්න. ඇත්ත වශයෙන්ම කිසිදු පරාවර්තනයක් සිදු නොවේ, එය සිදුවන්නේ එය මෙන් පෙනේ. යමෙකුට පළමුව අනුමාන කිරීමට අවශ්‍ය නම් මම පැහැදිලි කිරීම සඟවා ඇත්තෙමි:

පළමු පරාවර්තනය වූ තරංගය රූපයේ දාරයේ අනෙක් පැත්තෙන් ආරම්භ වන තරංගයකට සමාන වේ, මුල් ලක්ෂ්‍යයට සමාන දුරක්. එබැවින් කේතය එක් එක් දාර 4 න් පරාවර්තනයේ බලපෑම ලබා දීමට අවශ්‍ය කරුණු 4 සඳහා නිවැරදි පිහිටීම ගණනය කරයි. පරාවර්තනය කරන ලද තරංගයේ මට්ටම් සියල්ලම තලයක එක් ටයිල් එකක් ලෙස ඔබ සිතන්නේ නම්, තවත් දුර ටයිල් එකකින් ආරම්භ වන තරංගයකට සමාන වේ. කේතය වෙනම ප්‍රසාරණය වන කව 189 ක් පෙන්වීමෙන් මට්ටම් 8 ක පරාවර්තනය ලබා දෙයි, සෑම එකක්ම 17 සිට 17 දක්වා ජාලකයක නිවැරදි ලක්ෂ්‍යයේ ස්ථානගත කර ඇති අතර එමඟින් ඒවා ජාලකයේ මධ්‍යම චතුරශ්‍රය හරහා ගමන් කරයි (එනම් රූප චතුරශ්‍රය) අවශ්‍ය වර්තමාන පරාවර්තනයේ හැඟීම ලබා දීමට සුදුසු වේලාවන්. මෙය කේත කිරීමට සරල (හා කෙටි!), නමුත් තරමක් සෙමින් ධාවනය වේ ...


3
GIF වලට සහ පැහැදිලි කිරීමට ආදරය කරන්න.
DLosc

නීටෝ! නමුත් මිනිසා, මේ වගේ ඇතුළත් කිරීම් නිසා මට වේගවත් පරිගණකයක් අවශ්‍යයි (හෝ ඊට වඩා ඉවසීම, ලොල්). එක්කෝ ඔබේ පරිගණකය වඩා වේගවත් ය, නැතහොත් එම සියලු GIF රාමු ජනනය කිරීමට ඔබට කොපමණ කාලයක් ගතවේදැයි සිතීමට මට අවශ්‍ය නැත.
ඩ්‍රීම් වොරියර්

3
DreamDreamWarrior ඉවසීමෙන් කටයුතු කරන්නේ මා නොවේ. මම නිදා සිටියදී එක රැයකින් ධාවනය කිරීම මගේ ලැප්ටොප් එකයි ...
ට්‍රයිකොප්ලැක්ස්

2
මම පැක්මන්ව දෙවන රූපයේ දකිමි.
AL
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.