Ընդհանուր արվեստի ներդրում. Որն է այն և ինչպես եք այն պատրաստում

Mandelbrot- ի Fractal- ը բխում է խաբուսիկորեն պարզ հավասարությունից

Գեներացական արվեստը կարող է վախեցնող թեմա լինել, թվում է, թե մաթեմատիկայի շատ մասն է ներգրավված, և արվեստը ինքնին բարդ է:

Բայց դա պետք չէ դժվար լինել. Կարող եք կառուցել մի քանի իրոք սառը բաներ առանց մաթեմատիկայի կամ արվեստի աստիճանի: Այս գրառումը կքանդի, թե ինչպիսին է նույնիսկ գեներացվող արվեստը, և ինչպես Դուք կարող եք սկսել սկսել կառուցել ձեր սեփական գեներացնող արվեստը:

Նախ ՝ ի՞նչ է ծածկագրային արվեստը:

Կոդի արվեստը ցանկացած արվեստ է, որը կառուցված է օգտագործելով կոդ: CodePen- ի վրա կան անվերջ օրինակներ, օրինակ ՝ CSS արվեստ:

Ի՞նչ է գեներատիվ արվեստը:

Հաճախ, գեներատիվ արվեստը ոգեշնչում է ժամանակակից արվեստին, հատկապես փոփ արվեստին, որը ծանրակշիռ օգտագործում է կանոնավոր երկրաչափական օրինաչափությունները:

Այնուամենայնիվ, այն արվեստի շատ լայն և հարուստ կատեգորիա է, որը ստեղծվել է կենտրոնական բնութագիր ունեցող ծածկագրերով: Գեներացական արվեստը ինչ-որ առումով ներառում է ինքնակառավարվող կամ ինքնավար համակարգ:

Պատահականությունը ինքնավար համակարգի մեկ տեսակ է: Ներառելով պատահականությունը մի կտոր արվեստի մի կտոր, ամեն անգամ ձեր սցենարը գործարկելիս կստանաք տարբերակ, բոլորովին յուրօրինակ արվեստի գործեր, բեռնեք ձեր էջը կամ պատասխանեք որոշ օգտագործողների փոխազդեցության:

Կան նաև ավելի կարգի ինքնավար համակարգեր: Մեկ օրինակ է Mandelbrot- ի Fractal- ը, որը բխում է խաբուսիկորեն պարզ հավասարությունից:

Մենք կարող ենք նաև ինտեգրվել ինչպես մոտեցումներին, այնպես էլ խառնուրդային կարգին և քաոսին:

Գեղարվեստական ​​գործը դառնում է համակարգչային և նկարչի համագործակցություն: Արվեստի գործի որոշ ասպեկտներ վերահսկվում են կոդավորողի կողմից, բայց դրանք բոլորը չէ: Նկարիչը վերահսկում է ինչպես պատահականությունը, այնպես էլ կարգը արվեստում:

Մի կերպ, ինքնավար համակարգով, նկարիչը հրաժարվում է վերահսկել իրենց արվեստը, և համակարգիչը դա անում է իրենց համար: Ավելի նրբերանգային հեռանկար է ծագում, երբ նոր ստեղծագործական գործընթաց է դիտարկվում:

Կոդերի նկարիչը ներգրավվում է հետադարձ կապի հանգույցում, որտեղ նրանք անընդհատ կսմթում են համակարգը `ավելի ցանկալի և հաճախ ավելի զարմանալի արդյունքներ բերելու համար:

Այս գործընթացն ընդգրկում է փորձեր և երջանիկ պատահարներ այնպիսի ձևով, որը վերափոխում է նկարչի դերը: Որպես սերունդ արվեստագետներ, մենք օգտագործում ենք կոդերի հիմունքներ, ինչպիսիք են օղակները, կառավարման հոսքը և մասնագիտացված գործառույթները: Այնուհետև մենք դրանք խառնեցնում ենք հաճախ անկանխատեսելի ուժերին ՝ արտադրելու բոլորովին յուրահատուկ արդյունքներ ՝ ի տարբերություն գոյություն ունեցող ցանկացած այլ բանի:

Ընդհանուր արվեստի օրինակներ

Քեյթ Քոմփթոնի ծաղիկները

Բջջային ավտոմատացում և քաոսի եզր

Ֆիլ Նեշի անիմացիոն գեներատորական արվեստը բազմագույն գույնով

Impressionists Blobs by Murasaki Uma

Ստեղծվել է Միրիամ Նադլերի կողմից

Ի՞նչ է մտնում գեներատիվ արվեստի մի կտոր:

  • Պատահականությունը կարևոր նշանակություն ունի գեներատիվ արվեստ ստեղծելու համար: Արվեստը պետք է տարբեր լինի սերունդների սցենարն ամեն անգամ աշխատելիս, այնպես որ պատահականությունը սովորաբար դրա մեծ մասն է:
  • Ալգորիթմներ - Տեսողական ալգորիթմ իրականացնելը հաճախ կարող է առաջացնել հիանալի արվեստ, օրինակ ՝ վերևում գտնվող երկուական ծառ:
  • Երկրաչափություն - Ստեղծագործական արվեստի մեծ մասը ներառում է ձևեր, իսկ ավագ դպրոցի երկրաչափության դասից ստացված մաթեմատիկան կարող է օգնել որոշ իրոք սառը էֆեկտների:

Ինչպե՞ս կարող եք մոտենալ գեղարվեստական ​​գեղարվեստական ​​ստեղծագործությանը:

Գեներատիվ արվեստ ստեղծելու երկու հիմնական ռազմավարություն կա, չնայած դրանց մեծ մասը ընկած է երկու ռազմավարությունների միջև:

Առաջինը մտքում արդյունքներ չունենալն է և տեսնել, թե ինչ համակարգիչ է ստեղծում, երբ խաղում եք:

Երկրորդն այն է, որ դուք ունեք մի շատ վերջնական պատկերացում, թե ինչպիսին եք ուզում արվեստը, և պատահականությունը միայն փոքր-ինչ փոխում է վերջնական արդյունքը:

Որտեղ պետք է սկսել:

Եթե ​​գիտեք JavaScript- ը, p5.js- ը սկսելու հիանալի վայր է: Դրա նպատակն է «կոդավորումը հասանելի դարձնել նկարիչների, դիզայներների, մանկավարժների և սկսնակների համար»: Դա կտավների API- ի փաթաթան է, և այն պարզեցնում է մաթեմատիկայի մեծ մասը: Այն կենտրոնանում է նկարչության վրա, բայց դրա հետ կարող եք նաև ձայնային, վիդեո կամ վեբ-տեսախցիկ փոխազդեցություն անել, եթե ձեզ հետաքրքրում է արվեստի այդ ձևերը:

Արագ ներածություն P5- ին

Նախ, բեռնեք p5 CDN- ում: Այնուհետև ձեր JavaScript ֆայլում դուք կավելացնեք երկու գործառույթ, որոնք կօգտագործվեն գրեթե երբևէ p5 սցենարի մեջ. Կարգաբերում և նկարում: Այս անունները անհրաժեշտ են, որպեսզի p5- ն անվանվի նրանց:

ծրագրի մեկնարկը կոչվում է: Դուք հավանաբար կստեղծեք կտավ, որի մեջ ներս գցելու համար օգտագործեք ստեղծումը ՝ ստեղծելով գործառույթ, և կարող եք այնտեղ որոշ կանխավճարներ սահմանել: Դա կոչվում է միայն մեկ անգամ:

խաղարկությունը կոչվում է կարգավորումից հետո և անընդհատ կատարվում է այնքան ժամանակ, քանի դեռ չեք զանգահարել noLoop, ինչը կդադարի այն կրկին գործարկելուց: Կարող եք վերահսկել, թե քանի անգամ է նկարում յուրաքանչյուր վայրկյան, frameRate ֆունկցիայի միջոցով:

Ստեղծող արվեստով ես սովորաբար noLoop- ն եմ դնում կարգավորումների գործառույթին, ինչը կազմում է ոչ-ոքի միայն մեկ անգամ վազել անընդմեջ փոխարեն:

Ահա CodePen- ում տեղադրված p5 մեկնարկային ձևանմուշը:

Քանի որ մենք այնքան շատ ենք խոսել սերունդ արվեստի համար պատահականության կարևորության մասին, p5- ում ևս մեկ կարևոր գործառույթ պատահական է: Այն նույն կերպ է գործում JavaScript- ի Math.random- ի հետ, բայց դուք կարող եք համարների համար մի շարք սահմանել, այնպես որ դուք կարիք չունեք անելու նույնքան մաթեմատիկա ՝ համարը օգտակար ձևաչափ ստանալու համար:

p5 Գծեր

P5.js- ում կարող եք այսպիսի տող ստեղծել.

տող (startX, startY, endX, endY)

Այնուհետև, դուք կարող եք պատահականորեն մի շարք տողեր ստեղծել և ստեղծել գեներատիվ արվեստի մի պարզ կտոր, ինչպիսին է այսպիսին.

Նույնիսկ իսկապես պարզ գրությունները կարող են առաջացնել արվեստի զով կտորներ:

p5 ձևավորում

Կարող եք նաև ձևեր ստեղծել p5- ի նման շրջանակներով, եռանկյուններով և հրապարակներով:

Ահա p5- ով որոշ ձևեր ստեղծելու օրինակ.

// օղակի էլիպս (xCoordinate, yCoordinate, լայնություն, բարձրություն) 
// քառակուսի ուղղ (xCoordinate, yCoordinate, լայնություն, բարձրություն) 
// եռանկյուն եռանկյունի (xCoordinate1, yCoordinate1, x2, y2, x3, y3)

Այնուհետև մենք կարող ենք ստեղծել ևս մի քանի ձև ՝ ավելի զվարճալի բան կառուցելու համար:

p5 շարժում

Կարող ենք շարժում ավելացնել մեր նկարներին `հեռացնելով noLoop գործառույթի զանգը կարգավորիչի գործառույթում - ստուգեք սա:

Գույն

Կարող եք նաև գույներով խաղալ գեներատոր արվեստով `պատահական ընտրելով գույները: Դուք կարող եք դա անել մաթեմատիկորեն RGB արժեքների միջոցով, կամ կարող եք գունային գունապնակ առաջացնել ձեր նախընտրած գունային ընտրողի միջոցով (մենք օգտագործել ենք այս մեկը):

Դուք կարող եք լրացնել գույնը գույնի գործառույթով: Այն տևում է մի շարք տարբեր ձևաչափերի, ինչպիսիք են ՝ գույներով, RGBA- ներով և վեց կոդերով:

Կարող եք նաև փոխել ուրվագծի գույնը `օգտագործելով կաթված: Կարող եք նաև հեռացնել այդ ուրվագիծը noStroke- ի օգտագործմամբ կամ այն ​​դարձնել այլ լայնություն `հարվածով Wight:

Բոլորը միասին դնելով

Երբ այդ բոլոր կտորները տեղավորվենք, մենք կարող ենք համատեղել տեխնիկան, իրոք, զովացուցիչ իրեր կառուցելու համար:

Մեկ այլ ռազմավարություն. Tweaking ձեռնարկներ

Կարող եք նաև իսկապես թույն գեներացնող արվեստ ստեղծել ՝ ուրիշի գործը վերցնելով և դրանից բխելով: Օրինակ ՝ ահա Դեն Շիֆմանի ձեռնարկի ձեռնարկի արդյունքը.

Ահա դրա երկու տարբերակ ՝ տարբեր էֆեկտներ ստեղծելու համար.

Ահա Codepen- ի հավաքածուն `նույնիսկ ավելին:

Կարող եք հետևել ձեռնարկին, պատառաքաղ CodePens- ին կամ Glitch նախագծերին և ստեղծել մի նոր և յուրօրինակ բան: Պարզապես համոզվեք, որ օրիգինալ նկարչին նույնպես մի փոքր վարկ կտրեք:

Cheatsheet

Ահա խաբեության թերթիկ ՝ P5- ի բոլոր գործառույթներով, որոնք մենք օգտագործել ենք այս ձեռնարկը:

Կարդալ ավելին

  • Գեներատիկական արվեստ
  • Կոդավորման գնացք
  • Խոսակցություն Թիմ Հոլմանի կողմից

Մտածեք կապի մեջ

Այս գրառումը համահեղինակ է Jamesեյմս Ռայխարդի հետ: Եթե ​​ստեղծեք ձեր սեփական արվեստը, համոզվեք, որ այն Tweet- ում տեղադրեք մեզ մոտ: (Ալին և Jamesեյմս):

Սկզբնապես հրատարակվել է dev.to- ում: