Mundarija:

Meni yorit!: 20 qadam (rasmlar bilan)
Meni yorit!: 20 qadam (rasmlar bilan)

Video: Meni yorit!: 20 qadam (rasmlar bilan)

Video: Meni yorit!: 20 qadam (rasmlar bilan)
Video: Trendi oxiri shunaqa bo'ladi 🤣 2024, Noyabr
Anonim
Meni yorit!
Meni yorit!
Meni yorit!
Meni yorit!
Meni yorit!
Meni yorit!
Meni yorit!
Meni yorit!

loyiha jamoasi a'zolari

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Agar siz chiroqqa tegib, uni loyihalashtira olsangiz nima bo'ladi? Agar sizda o'zingizni qiziqarli animatsiya bilan yaratgan chiroyli yorug'lik namunasi bo'lsa, o'zingizni qanday his qilasiz? Menga yorug'lik bering, bu yorug'likning o'ziga tegadigan va chizadigan, qiziqarli naqshlar yaratadigan eskizlar kitobi bo'ladi! olti burchakli shakli. Shunday qilib, siz yorug'lik dizayniga ko'ra stereoskopik naqshlarni yaratishingiz mumkin! Har bir bo'lakni bosish kifoya qiladi va har xil ranglar graduslanadi va siz xohlagan rang paydo bo'lganda, bosgan qo'lingizga bosing va u siz xohlagan rang bilan porlab turaveradi! Loyihada taxminan 312 uchburchak ishlatilgan, lekin u 6 ta uchburchak bilan yaxshi ishlaydigan yaxshi yorug'lik. Endi men sizga oltita uchburchak bilan qanday yasashni ko'rsataman. Bosqichlarni bajaring va siz o'zingizning ajoyib ishingizga ega bo'lasiz!

Ta'minotlar

Uskuna: Arduino (men arduino mega 2560 ishlatganman), akril (tiniq, oq), LED tasmasi (NeoPixel), diffuzorli plyonka, tugma, 4 pinli ulagich, sim, elektron karta, quvvat manbai

Asboblar: Lazerli boshqariladigan kesish mashinasi, 3D printer

1 -qadam: Keling, bunga erishamiz

Keling, buni uddalaymiz!
Keling, buni uddalaymiz!
Keling, buni uddalaymiz!
Keling, buni uddalaymiz!
Keling, buni uddalaymiz!
Keling, buni uddalaymiz!

Keling, men bilan olti burchakli bu yoqimli bo'lakni yasaymiz!

Light Me Up 312 uchburchak yordamida yaratilgan, lekin hatto 6 uchburchak ham ajoyib nurni yaratishi mumkin. Agar siz uni kengroq hajmda qilishni xohlasangiz, quyida biriktirilgan faylga murojaat qilib qilishingiz mumkin.

2 -qadam: materiallarni tayyorlash

Materialni tayyorlash
Materialni tayyorlash

3 -qadam: Akrilni kesish

Akrilni kesish
Akrilni kesish
Akrilni kesish
Akrilni kesish
Akrilni kesish
Akrilni kesish
Akrilni kesish
Akrilni kesish

Har bir qismning old va orqa qismini kesish uchun lazer kesgichdan foydalaning. Orqa tarafdagi akrilning rangi xohlagan narsangiz bo'lishi mumkin, lekin shaffof akrildan foydalanganingizga ishonch hosil qiling, chunki old qismini xira qilish kerak! Agar siz shaffofdan boshqa rangdagi akrildan foydalansangiz, yorug'likni yaxshi ko'rmaysiz.

4 -qadam: 3D -printerlar yordamida tomonlar yarating

3D printer yordamida yon tomonlar yarating
3D printer yordamida yon tomonlar yarating
3D printer yordamida yon tomonlar yarating
3D printer yordamida yon tomonlar yarating
3D printer yordamida yon tomonlar yarating
3D printer yordamida yon tomonlar yarating

Endi har bir qismning yon tomonlarini yasash vaqti keldi. Keling, yon tomondan 3D modellashtirish fayllari quyida biriktirilgan. Biz PLAni yon tomonga burish uchun ishlatdik, PLA tormozlarga qaraganda kuchliroq va qisqarishi kamroq, shuning uchun filamanlarga PLAdan foydalanish tavsiya etiladi.

5 -qadam: Rasmga olish

Filmga olish
Filmga olish
Filmga olish
Filmga olish
Filmga olish
Filmga olish

Keling, old tomondan akrilga engil diffuzion plyonka qo'yaylik. Agar siz unga plyonka qo'ysangiz, u yoyilib, ancha chiroy ochadi. Birinchidan, plyonkani uchburchak shaklida kesib oling. (Plyonkani akrilga qaraganda kattaroq qilib kesganingiz ma'qul) Telefoningizga himoya plyonka kabi kino qo'yish oson. Agar siz bu erga maslahat bermoqchi bo'lsangiz, kartani itarib qo'yish uchun foydalanishingiz mumkin, shunda u to'g'ri yopishib qolishi mumkin!

6 -qadam: LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang

LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang
LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang
LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang
LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang
LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang
LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang
LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang
LED tasmasini + Lehimlovchi LED tasmasini (NeoPixel) simlar bilan ulang

Agar siz LED chizig'ini juda yaxshi lehimlagan bo'lsangiz, LED tasmasini orqa tomonga qo'yish vaqti keldi. Birinchidan, LED chizig'ining orqa qismiga yopishtiruvchi qurol yoki ikki tomonlama lentani mahkamlang. Va birinchi navbatda, har ikki tomonning teshiklari orqali lehim simining ikkala tomonidan simlarni olib tashlang. Nihoyat, LED tasmasini orqa akrilga mahkamlang va u tugadi!

Lehimlash vaqti keldi! LED chiziqlar, 4-pinli ulagichlar (ulagich yoki simlar) va lehim uchun kerak bo'lgan narsalarni tayyorlang. Men LEDni uchta birlikda ishlatardim. Agar xohlasangiz, bitta yoki ikkita LEDni ishlatishingiz mumkin, lekin men uchtasini ishlatishni maslahat beraman. Barcha materiallar tayyor bo'lgach, simlarni har ikkala ma'lumot uzatish liniyasida, 5v chizig'ida va LED chizig'ining tuproqli chiziqlarida lehimlang.

7 -qadam: payvandlash paychalarining simlari yordamida

Lehimlash usuli
Lehimlash usuli
Lehimlash usuli
Lehimlash usuli

8 -qadam: O'rnatish -Boltni yon tomonga joylashtiring = ①

O'rnatish -Boltni yon tomonga qo'ying = ①
O'rnatish -Boltni yon tomonga qo'ying = ①
O'rnatish -Boltni yon tomonga qo'ying = ①
O'rnatish -Boltni yon tomonga qo'ying = ①

Endi bu juda oson qism! 3D bosilgan uch tomonning har biriga bitta murvat qo'ying. Bolt tugmachasini konstruktiv murvat va yong'oq kabi ishlatishning sababi shunday bo'ladi. Parcha tugagandan so'ng, men buyumni qutiga solaman va uni yong'oq bilan tugataman.

9 -qadam: Ⓛⓣ ni = ② ga ulang

Ⓛⓣ ni Ⓒ = Ⓛⓣ ga biriktiring
Ⓛⓣ ni Ⓒ = Ⓛⓣ ga biriktiring
Ⓛⓣ ni Ⓒ = Ⓛⓣ ga biriktiring
Ⓛⓣ ni Ⓒ = Ⓛⓣ ga biriktiring

10 -qadam: O'rnatish -Ⓦ va Ⓝ dan foydalanib ① va ② = ③ ni birlashtiring

O'rnatish -Ⓦ va Ⓝ = ③ ni birlashtirish uchun Ⓦ va Ⓝ dan foydalaning
O'rnatish -Ⓦ va Ⓝ = ③ ni birlashtirish uchun Ⓦ va Ⓝ dan foydalaning
O'rnatish -Ⓦ va Ⓝ = ③ ni birlashtirish uchun Ⓦ va Ⓝ dan foydalaning
O'rnatish -Ⓦ va Ⓝ = ③ ni birlashtirish uchun Ⓦ va Ⓝ dan foydalaning
O'rnatish -Ⓦ va Ⓝ = ③ ni birlashtirish uchun Ⓦ va Ⓝ dan foydalaning
O'rnatish -Ⓦ va Ⓝ = ③ ni birlashtirish uchun Ⓦ va Ⓝ dan foydalaning

11 -qadam: O'rnatish -akril bant yordamida = va ③ biriktiring

O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt
O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt
O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt
O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt
O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt
O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt
O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt
O'rnatish -Ⓐⓔ va ③ akril bog'lam yordamida = tt

Agar siz boltni yon tomonga qo'ysangiz, biz uni yon va old tomonga qo'yamiz. Old qismi akril, shuning uchun uni maxsus akril lenta bilan yopish kerak. Agar siz akrilni oddiy bog'lamga yopishtirsangiz, u iz qoldiradi.

12 -qadam: Ⓢ ni Ⓓ = Ⓢ ga biriktiring

Ⓢ ni ⑤ = Ⓢ ga biriktiring
Ⓢ ni ⑤ = Ⓢ ga biriktiring
Ⓢ ni ⑤ = Ⓢ ga biriktiring
Ⓢ ni ⑤ = Ⓢ ga biriktiring

13 -qadam: O'rnatish ④ va ⑤ ni Ⓦ va Ⓝ = ⑤ yordamida birlashtiring

O'rnatish -④ va ⑤ ni Ⓦ va Ⓝ = ⑤ yordamida birlashtiring
O'rnatish -④ va ⑤ ni Ⓦ va Ⓝ = ⑤ yordamida birlashtiring
O'rnatish -④ va ⑤ ni Ⓦ va Ⓝ = ⑤ yordamida birlashtiring
O'rnatish -④ va ⑤ ni Ⓦ va Ⓝ = ⑤ yordamida birlashtiring
O'rnatish -④ va ⑤ ni Ⓦ va Ⓝ = ⑤ yordamida birlashtiring
O'rnatish -④ va ⑤ ni Ⓦ va Ⓝ = ⑤ yordamida birlashtiring

14 -qadam: To'liq qismlarni yig'ish

To'liq qismlar yig'ilishi
To'liq qismlar yig'ilishi
To'liq qismlar yig'ilishi
To'liq qismlar yig'ilishi
To'liq qismlar yig'ilishi
To'liq qismlar yig'ilishi

15 -qadam: Loyihaning ishchi ko'rinishi

Image
Image

16 -qadam: NeoPixel, ulagich simlari

NeoPixel, ulagich simlari
NeoPixel, ulagich simlari
NeoPixel, ulagich simlari
NeoPixel, ulagich simlari
NeoPixel, ulagich simlari
NeoPixel, ulagich simlari

17 -qadam: NeoPixel va Arduino simlari

NeoPixel va Arduino simlari
NeoPixel va Arduino simlari

18 -qadam: Arduino -ni dasturlash

extern volatile unsigned long timer0_millis;

#qo'shing

#define MODEBTNNUM 3 int ani_mode = 0; imzosiz uzoq preM1, preM2, preM3;

bo'sh o'rnatish () {

Wire.begin (); uchun (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i+2, INPUT_PULLUP); } //Serial.begin (9600); }

void loop () {

for (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } uchun (int i = 0; i <6; i ++) {Wire.requestFrom (i+1, 1); while (Wire.available ()) {int x = Wire.read (); // Serial.println (x); agar (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} /////////////////////////////////////////////////////////////////////////////////////////////////// /////// if (ani_mode == 0) {for (int i = 1; i 3000) {preM1 = current1; uchun (int i = 1; i 5000) {preM2 = joriy2; uchun (int i = 1; i 3000) {preM3 = joriy3; // taymer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("taymerni qayta o'rnatish"); uchun (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}

19 -qadam:

extern volatile unsigned long timer0_millis;

#qo'shing

#kiritish #belgilash PIN 12 #NUMPIXELSni belgilang 162 Adafruit_NeoPixel tasmasi = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int soni = NUMPIXELS / 3; const int slaveNum = 1; int ranglar [raqam] [3]; int tus [raqam]; int sat [raqam]; int yorqin [raqam]; int pNumber = 0; int gValue [raqam] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; const int btnPin [son] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 54, 55, 56, 57, 58, 59}; int btnState [raqam]; mantiqiy btnMode; int hueV [son] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; #include #define BTNNUM 1 int f_v = 1; imzosiz uzoq preMillis1; imzosiz uzoq preM; int ani_mode = 0; int ani2_Counter = 0; int hisoblagich = 0; ////////////////////////////////////////////////////////////////// void setup () {Wire. boshlash (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (qabulEvent); for (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin (9600); strip.begin (); }/

void loop () {

if (f_v == 1) {for (int i = 0; i <num; i ++) {hue = 50; o'tirdi = 95; yorqin = 100; } f_v = 0; } ///////////////////////////////////////////// btnMode = yolg'on; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); //////////////////////////////////////// switch (ani_mode) {holat 0: ani0 (); tanaffus; 1 -holat: ani1 (); ani_mode = 0; ani2_Counter = 0; tanaffus; 2 -holat: ani2_Counter = 1; ani_mode = 0; tanaffus; 3 -holat: ani3 (); ani_mode = 0; ani2_Counter = 0; tanaffus; standart: readyState (); tanaffus; } if (ani2_Counter == 1) {ani2 (); } setPixels (raqam); }

///////////////////////////////////////////

void receiveEvent (int howMany) {int x = Wire.read (); agar (x == 5) {// Serial.println ("qabul qilingan 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } //////////////////////////////////////////////////////////////// bekor qilingan talabEvent () {

agar (btnMode == rost) {

Wire.write (5); // Serial.println ("5 보냄"); } boshqa {Wire.write (0); }

}

void ani0 () {

// Serial.println ("0"); }

void ani1 () {

// Serial.println ("1"); if (pNumber == 0) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; uchun (int a = 0; a <2; a ++) {rang [a1 [a] = 100; o'tirdi [a1 [a] = 95; yorqin [a1 [a] = 100; } uchun (int b = 0; b <2; b ++) {rang [b1 = 200; o'tirdi [b1 = 95; yorqin [b1 = 100; } uchun (int c = 0; c <2; c ++) {hue [c1 [c] = 300; o'tirdi [c1 [c] = 95; yorqin [c1 [c] = 100; } // Serial.println ("0"); } if if (pNumber == 1) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; uchun (int a = 0; a <8; a ++) {rang [a2 [a] = 26; o'tirdi [a2 [a] = 95; yorqin [a2 [a] = 100; } uchun (int d = 0; d <4; d ++) {tus [d2 [d] = 63; o'tirdi [d2 [d] = 95; yorqin [d2 [d] = 100; } // Serial.println ("1"); } else if (pNumber == 2) {// gigant kub naqsh (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // sariq 06 uchun (int a = 0; a <6; a ++) {hue [a14 [a] = 35; o'tirdi [a14 [a] = 95; yorqin [a14 [a] = 100; }} else if (pNumber == 3) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // sariq uchun (int a = 0; a <6; a ++) {hue [a3 [a] = 53; o'tirdi [a3 [a] = 95; yorqin [a3 [a] = 100; }} else if (pNumber == 4) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a4 = {34, 35}; // sariq int b4 = {47}; // ko'k int c4 = {48}; // binafsha

uchun (int a = 0; a <2; a ++) {rang [a4 [a] = 53; o'tirdi [a4 [a] = 95; yorqin [a4 [a] = 100; }

uchun (int b = 0; b <1; b ++) {tus [b4 = 210; o'tirdi [b4 = 95; yorqin [b4 = 100; } uchun (int c = 0; c <1; c ++) {hue [c4 [c] = 307; o'tirdi [c4 [c] = 95; yorqin [c4 [c] = 100; }} else if (pNumber == 5) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a5 = {34, 35, 46, 47, 48, 49};

uchun (int a = 0; a <6; a ++) {rang [a5 [a] = 100; o'tirdi [a5 [a] = 95; yorqin [a5 [a] = 100; }} else if (pNumber == 6) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // sariq uchun (int a = 0; a <6; a ++) {hue [a6 [a] = 53; o'tirdi [a6 [a] = 95; yorqin [a6 [a] = 100; }} boshqa if (pNumber == 7) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // binafsha rang uchun (int c = 0; c <6; c ++) {hue [c7 [c] = 307; o'tirdi [c7 [c] = 95; yorqin [c7 [c] = 100; }} else if (pNumber == 8) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // binafsha rang uchun (int c = 0; c <6; c ++) {hue [c8 [c] = 307; o'tirdi [c8 [c] = 95; yorqin [c8 [c] = 100; }} else if (pNumber == 9) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // binafsha rang uchun (int c = 0; c <6; c ++) {hue [c9 [c] = 307; o'tirdi [c9 [c] = 95; yorqin [c9 [c] = 100; }} else if (pNumber == 10) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // binafsha rang uchun (int c = 0; c <6; c ++) {hue [c10 [c] = 307; o'tirdi [c10 [c] = 95; yorqin [c10 [c] = 100; }} else if (pNumber == 11) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // binafsha rang uchun (int c = 0; c <6; c ++) {hue [c11 [c] = 307; o'tirdi [c11 [c] = 95; yorqin [c11 [c] = 100; }} if if (pNumber == 12) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // binafsha rang uchun (int c = 0; c <6; c ++) {hue [c12 [c] = 307; o'tirdi [c12 [c] = 95; yorqin [c12 [c] = 100; }} else if (pNumber == 13) {for (int i = 0; i <num; i ++) {yorqin = 0; gValue = 1; } int a13 = {34, 35}; // sariq int b13 = {47}; // ko'k int c13 = {48}; // binafsha rang (int a = 0; a <2; a ++) {hue [a13 [a] = 53; o'tirdi [a13 [a] = 95; yorqin [a13 [a] = 100; } uchun (int b = 0; b <1; b ++) {rang [b13 = 210; o'tirdi [b13 = 95; yorqin [b13 = 100; } uchun (int c = 0; c <1; c ++) {tus [c13 [c] = 307; o'tirdi [c13 [c] = 95; yorqin [c13 [c] = 100; }} pNumber = pNumber + 1;

agar (pNumber == 14) {

pNumber = 0; }}

void ani2 () {

// Serial.println ("2"); belgisiz uzun curM = millis ();

agar (curM - preM> = 10) {

preM = curM; for (int i = 0; i <num; i ++) {if (hue = 360) {gValue = -1; } rang = tus + gValue ; } hisoblagich ++; if (hisoblagich == 360) {// Serial.print ("hisoblagich:"); // Serial.println (hisoblagich); // Serial.println (curM); hisoblagich = 0; ani2_Counter = 0; }}}

void ani3 () {

// Serial.println ("3"); } /////////////////////////////////////////////////////// bekor qilinganStState () {/ / Serial.println ("tayyor"); } //////////////////////////////////////////////////////////////////// bekor qilingan btnEvent (int b_interval) {imzosiz uzun curMillis1 = millis ();

for (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }

agar (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1; uchun (int i = 0; i = 360) {hueV = -1; } if if (hue <= 0) {hueV = 1; } rang = tus + tusV ; yorqin = 100; }}}} ////////////////////////////////////////////////////////////////////// bekor qilinganPiksellar (int k) {uchun (int i = 0; i <k; i ++) {H2R_HSBtoRGB (tus , o'tirgan , yorqin , ranglar ); int soni1 = i * 3; strip.setPixelColor (raqam1, ranglar [0], ranglar [1], ranglar [2]); strip.setPixelColor (raqam1 + 1, ranglar [0], ranglar [1], ranglar [2]); strip.setPixelColor (raqam1 + 2, ranglar [0], ranglar [1], ranglar [2]); } strip.show (); }

20 -qadam: naqshlar

Naqshlar!
Naqshlar!
Naqshlar!
Naqshlar!

Ushbu loyihada olti burchakli shaklni tashkil etuvchi bir nechta uchburchaklar mavjud. Shunday qilib, siz yorug'lik dizayniga ko'ra stereoskopik naqshlarni yaratishingiz mumkin! Har bir bo'lakni bosish kifoya va har xil ranglar gradusli bo'ladi va siz xohlagan rang chiqqanda, bosgan qo'lingizga bosing va u siz xohlagan rang bilan porlab turaveradi!

Tavsiya: