Daftar Isi:
- Langkah 1: Untuk Loop
- Langkah 2: Gunakan untuk Loop untuk Memecahkan Masalah Matematika
- Langkah 3: Untuk Menggambar Loop
- Langkah 4: Gunakan untuk Loop untuk Menggambar Titik Bulat Acak
- Langkah 5: Gunakan untuk Loop untuk Menggambar Garis
- Langkah 6: Untuk Loop Bersarang
- Langkah 7: Sementara Loop
- Langkah 8: Sumber
Video: Panduan Pemrograman yang Menarik untuk Desainer--Kontrol Proses Program- Pernyataan Loop: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Kontrol Proses Program- Pernyataan Loop
Dari bab ini, Anda akan berhubungan dengan Pernyataan Loop titik pengetahuan yang penting dan kuat.
Sebelum membaca bab ini, jika Anda ingin menggambar 10.000 lingkaran dalam program, Anda hanya dapat melakukannya dengan metode yang mengerikan. Yaitu menulis 10.000 baris kode elips. Para perancang kode malas yang ingin meningkatkan efisiensi dengan segala cara, pasti tidak akan membiarkan ini terjadi. Jadi, pernyataan loop dibuat. Dengan pernyataan ini, Anda secara intuitif dapat merasakan kekuatan otomatisasi komputer.
Langkah 1: Untuk Loop
Ada banyak sekali pernyataan perulangan, di antaranya yang paling banyak digunakan adalah For Loop. Kita semua tahu bahwa fungsi draw terus beroperasi dalam sirkulasi. Mulai dari kalimat pertama di awal, itu akan diterapkan dari atas ke bawah hingga kalimat terakhir. Setelah selesai operasi, itu akan mulai lagi dari kalimat pertama. Untuk pernyataan sedikit mirip dengan fungsi menggambar. Kode di dalam pernyataan for dapat dieksekusi berulang kali.
Berikut adalah struktur tata bahasanya:
Untuk(ekspresi 1; ekspresi 2; ekspresi 3){
tubuh lingkaran
}
Jelas, kalimat di dalam loop body adalah apa yang kami harapkan untuk diterapkan berulang kali. Ekspresi 1 digunakan untuk menginisialisasi dan menetapkan nilai pertama ke variabel loop. Ekspresi 2 adalah untuk kondisi loop. Ekspresi 3 akan memperbarui nilai variabel loop.
Apa itu variabel loop? Ini sebenarnya setara dengan variabel lokal. Mari kita lihat tulisan lengkapnya.
untuk(int i = 0;i < 10;i++){
tubuh lingkaran
}
Untuk mewujudkan fungsi loop, pernyataan for terutama bergantung pada variabel lokal, yang akan digunakan pada penghentian loop. Variabel lokal pada contoh di atas adalah i. Ekspresi 1 telah menyelesaikan inisialisasi variabel lokal. Nantinya, setiap kali loop beroperasi satu kali, variabel ini harus diperbarui. Di antara contoh di atas, i++ dalam ekspresi 3 digunakan untuk mewujudkan fungsi pembaruan. Melalui itu, variabel akan meningkat 1 setiap kali diperbarui. Pada akhirnya, kode di dalam tubuh loop tidak dapat diulang tanpa batas, jika tidak, pernyataan terakhir tidak dapat dieksekusi. Jadi, kita membutuhkan kondisi terminal. Express 2 hanya untuk itu. Di sini, program akan menilai apakah i kurang dari 10. Jika ya, maka lanjutkan operasi. Jika tidak, maka lompat keluar dari lingkaran.
Oleh karena itu, urutan operasi dari pernyataan for adalah seperti ini.
Ekspresi 1 (Inisialisasi variabel lokal)
Ekspresi 2 (Puas, lalu lanjutkan operasi)
Tubuh lingkaran (sirkulasi pertama)
Ekspresi 3 (Pembaruan)
Ekspresi 2 (Puas, lalu lanjutkan operasi)
Tubuh lingkaran (sirkulasi kedua)
Ekspresi 3 (Pembaruan)
Ekspresi 2 (Puas, lalu lanjutkan operasi)
Loop body (Sirkulasi ketiga) …
Ekspresi 3 (Pembaruan)
Ekspresi 2 (Tidak puas, lalu lompat keluar dari loop)
Anda dapat mensimulasikan urutan eksekusi ini di kepala Anda beberapa kali. Tetapi tidak mungkin untuk benar-benar memahami kode tanpa mengetiknya dengan tangan Anda sekali pun. Ketika kita ingin mengetahui konsep yang aneh, kita dapat mencetak nilainya di konsol melalui pernyataan println.
Contoh Kode (5-1): void setup(){
untuk(int i = 0; i < 10; i++){
println("jalankan");
}
}
Anda dapat menghitung jumlah output yang dijalankan di konsol. Di sini, tepatnya 10. Ini memberitahu Anda berapa kali kode di badan loop telah dieksekusi. Namun, kami masih tidak dapat mendeteksi perubahan apa yang sebenarnya terjadi dalam loop. Jadi kita bisa mencoba mengubah karakter "menjadi variabel "i", dan melihat apa yang akan terjadi.
Contoh Kode (5-2): void setup(){
untuk(int i = 0; i < 10; i++){
println (i);
}
}
Sekarang, kita dapat melihat nilai i pada loop body terus meningkat. Kemudian, kita dapat menggunakan nilai ini untuk memahami proses loop saat ini.
Dalam contoh kode (5-2), nilai i diubah dari 0 menjadi 9. Dibandingkan dengan waktu perulangan yang sebenarnya, tampaknya selalu memiliki 1 lebih sedikit. Jika Anda tidak terbiasa, ekspresi dalam tanda kurung untuk pernyataan dapat ditulis sebagai berikut:
untuk(int i = 1; i <= 10; i++)
Jadi, i sesuai dengan waktu perulangan. Arti dari "<=" adalah kurang dari dan sama dengan. Jadi ketika i sama dengan 10, masih memenuhi syarat. Oleh karena itu, ini akan beroperasi sekali lagi dibandingkan dengan ditulis ke i < 10. Meskipun dimulai dari 1, waktu perulangannya masih 10. Tentu saja, jika tidak ada kebutuhan khusus, saya sarankan Anda mengadopsi metode penulisan di contoh di awal. Nanti kami akan memperkenalkan vektor atau array kepada Anda, yang keduanya mendapatkan elemennya dengan subskripnya. Dan subskrip default semuanya dimulai dari 0. Untuk menentukan nilai awal menjadi 0 adalah praktik yang relatif umum.
Pada contoh di atas, jika kita menulis i melebihi 0, pogram akan crash. Karena variabel terus meningkat, tidak akan pernah memenuhi kondisi ini. Ini seperti tidak pernah bisa dihentikan sehingga program akan berjalan ke loop tak berujung.
Variabel lokal dalam pernyataan for tidak hanya dapat mendeklarasikan tipe plastik, tetapi juga mendeklarasikan variabel dalam tipe floating-point. Misalnya, dapat ditulis sebagai (float i = 0; i <10; i + = 0.02).
Langkah 2: Gunakan untuk Loop untuk Memecahkan Masalah Matematika
Masih ingatkah Anda dengan kisah seorang matematikawan Gauss di masa kecilnya? Saat itu, Guass berusia 10 tahun. Gurunya ingin memberikan tugas di kelas dan pertanyaannya adalah
1+2+3+4……+97+98+99+100=?
Jika Anda menghitung dengan tangan Anda, itu akan memakan banyak waktu. Tapi Guass tampaknya sudah mengetahui metode penjumlahan barisan aritmatika. Jadi tepat setelah pertanyaan diberikan, dia mengucapkan jawabannya dengan mudah, yang sangat mengejutkan gurunya.
Sekarang, kita mungkin masih tidak ingat apa penjumlahan dari barisan aritmatika tetapi kita bisa mendapatkan jawabannya dengan cara yang primitif dan kejam. Dan itu untuk loop. Karena itu hanyalah sepotong kecil kue untuk dihitung oleh komputer, kita harus menggambarkan pertanyaan ke dalam bahasa yang dapat dikenali oleh komputer, maka kita dapat dengan mudah mendapatkan jawaban kita.
Contoh Kode (5-3):
batalkan pengaturan(){
int jawaban = 0;
untuk(int i = 1; i <= 100; i++){
jawaban += saya;
}
println(jawaban);
}
Saya yakin hasil yang Anda dapatkan sama dengan jawaban yang dilaporkan Guass: 5050!
Tips: Nama variabel lokal di for loop dapat diubah sesuka hati dengan syarat mematuhi peraturan penamaan variabel. Anda dapat menulisnya menjadi (int k = 1;k <= 100;k++). Jika tidak ada kondisi khusus yang terjadi, default i sebagai nama variabel.
Langkah 3: Untuk Menggambar Loop
Setelah serangkaian tempat tidur yang tampak membosankan, akhirnya kita bisa masuk ke bagian yang lebih menarik. Yaitu menggunakan for loop untuk menggambar. Kita bisa mengesampingkan perhitungan matematis yang membosankan itu sekarang. Kami desainer lebih sensitif terhadap grafis.
Gunakan Untuk Loop Untuk Menggambar Array Lingkaran
Ketika kita ingin menggunakan for loop untuk mewakili sekelompok elemen berulang, kita harus memastikan hubungan numerik elemen-elemen ini terlebih dahulu, kemudian kita dapat menggunakan loop for untuk mewujudkannya dengan mudah alih-alih melakukan pekerjaan berulang yang masif. Misalkan jika kita ingin menggambar deretan lingkaran yang menyebar sama rata dalam arah horizontal. Koordinat virtualnya tidak berubah sedangkan koordinat horizontalnya berubah. Dan dari kiri ke kanan, koordinat horizontal terus meningkat dan jarak yang bertambah adalah sama. Saat ini, kita dapat menggunakan i in for loop untuk mendapatkan koordinat horizontal setiap lingkaran.
Contoh Kode (5-4): void setup(){
ukuran (700, 700);
latar belakang(83, 51, 194);
tidak ada Stroke();
}
batal menggambar(){
untuk(int i = 0; i < 7; i++){
elips(50.0 + i * 100.0, tinggi/2.0, 80.0, 80.0);
}
}
50 singkatan dari posisi awal lingkaran pertama di sebelah kiri. 100 in i * 100 mewakili jarak yang semakin jauh.
Langkah 4: Gunakan untuk Loop untuk Menggambar Titik Bulat Acak
Posisi grafik di atas dapat diprediksi. Ini akan meminimalkan banyak minat. Kita dapat menggunakan fungsi acak yang telah kita rujuk pada bab sebelumnya dan mencoba menuliskannya dalam fungsi menggambar.
Contoh Kode (5-5):
batalkan pengaturan(){
ukuran (700, 700);
latar belakang(0);
tidak ada Stroke();
}
batal menggambar(){
latar belakang(0);
untuk(int i = 0;i < 10;i++){
float randomWidth = acak(60.0);
elips(random(lebar), random(tinggi), randomWidth, randomWidth);
}
}
Di sini, alasan mengapa posisi lingkaran terus berkedip adalah karena setiap kali fungsi acak beroperasi satu kali, hasilnya acak. Karena fungsi draw secara default menjalankan 60 frame per detik, maka setiap 10 lingkaran yang digambar dalam satu detik akan berubah posisinya sebanyak 60 kali. Flash cepat ini membuat gambar tampak lebih dari 10 lingkaran. Mengubah nilai sederhana dalam program akan memberi Anda efek yang sama sekali berbeda. Kita dapat mengubah waktu perulangan dengan merevisi kondisi terminal. Kondisi terminal pada gambar di bawah ini adalah i < 100
- Berikut efeknya ketika kondisi terminal i < 1000:
- Biji Acak
- Jika saya tidak ingin posisi lingkaran dihasilkan secara acak serta flash-nya, apa yang bisa saya lakukan? Salah satu metode adalah membangun dan menyimpan variabel independen untuk setiap lingkaran dan menginisialisasi variabel-variabel ini dalam pengaturan. Tetapkan variabel-variabel ini dengan nilai acak. Jadi, saat menggunakan fungsi menggambar dalam draw, yang kita panggil adalah nilai yang disimpan dalam variabel. Itu tidak akan berubah setiap saat. Untuk menggambar 10 lingkaran kita bisa menggunakan cara ini. Tetapi bagaimana jika kita ingin menggambar 1000 lingkaran, atau 10.000 lingkaran? Akan cukup merepotkan jika kita menggunakan metode tradisional ini untuk membangun variabel-variabel ini dan menamainya. Kita tidak perlu mempelajari metode pembuatan variabel baru. Berikut adalah metode fleksibel yang dapat membantu kita mencapai tujuan ini. Yaitu dengan menggunakan randomSeed. Sekarang, mari kita lihat efeknya setelah digunakan. Contoh Kode (5-6):[cceN_cpp theme="fajar"] void setup(){ size(700, 700); background(0);tidakStroke();}
-
batal menggambar(){
latar belakang(0);
biji acak(1);
untuk(int i = 0;i < 10;i++){
float randomWidth = acak(20.0, 60.0);
elips(random(lebar), random(tinggi), randomWidth, randomWidth);
}
} [/cceN_cpp]
Dibandingkan dengan kode sebelumnya, tidak ada perubahan kecuali membuat rentang radius lingkaran berubah dari 10 menjadi lebih dari 30 dengan kalimat SeedRandom saja. Setelah ditambahkan kalimat ini, grafik menjadi statis.
Format Panggilan:
biji acak(a);
Di antara format ini, pengaturan a adalah seed. Anda harus mengisi bilangan bulat (tulis nilai floating point di P5, itu tidak akan salah tetapi memperlakukannya sebagai bilangan bulat) ke dalamnya. Fungsi dari randomSeed adalah untuk mengatur benih untuk nilai acak. Kemudian saya akan menghasilkan array acak yang berbeda sesuai dengan seed yang berbeda. Setelah itu, kami memanggil fungsi secara acak sehingga hasil pengembaliannya pasti. Di sini, yang pasti bukan untuk hasilnya adalah nilai yang pasti tetapi untuk array yang dihasilkan. Artinya, hasil pengembalian pasti relatif terhadap waktu pemanggilan.
Contoh Kode (5-7):[cceN_cpp theme="fajar"] void setup(){
biji acak(0);
untuk(int i = 0;i < 5;i++){
println(acak(10));
}
} [/cceN_cpp]
Sekarang kita lanjutkan menggunakan println untuk melakukan percobaan. Setelah menggunakan randomSeed, setiap kali Anda menutup program dan memulai ulang program, itu akan kembali ke serangkaian hasil yang sama. Nilai akan sesuai dengan urutan satu per satu. Jika Anda menghapusnya, maka setiap kali akan kembali ke nilai yang berbeda. Mengapa memiliki pengaturan ini? Hal ini karena nilai random itu sendiri dalam program adalah pseudo random. Hasilnya tampak acak tetapi sebenarnya dihasilkan oleh metode penghitungan yang tetap dan berulang. Ini setara dengan menetapkan nilai primitif untuk randomSeed, maka hasil berikut akan dihitung sesuai dengan seed ini. Namun, jika kita tidak menunjuk seed, program akan menggunakan waktu sekarang dari sistem untuk menghasilkan seed. Oleh karena itu hasil dari setiap operasi berbeda. Contoh di bawah ini dapat membantu Anda lebih memahami randomSeed.
Contoh Kode (5-8):[cceN_cpp theme="fajar"] void setup(){
ukuran (700, 700);
latar belakang(0);
tidak ada Stroke();
}
batal menggambar(){
biji acak(1);
untuk(int i = 0;i < 10;i++){
float randomWidth01 = acak(10, 60);
elips(acak(lebar), acak(tinggi), acakWidth01, randomWidth01);
println(lebar acak01);
}
biji acak(1);
untuk(int i = 0;i < 10;i++){
float randomWidth02 = acak(10, 60);
elips(acak(lebar), acak(tinggi), acakWidth02, randomWidth02);
println(lebar acak02);
}
} [/cceN_cpp]
Cobalah untuk merevisi randomSeed(1) kedua menjadi randomSeed(0) dan bandingkan hasil akhirnya.
Tips: Di P5, kita hanya perlu memanggil fungsi noLoop di akhir pengundian agar kita bisa mendapatkan efek yang sama. Fungsinya untuk menghentikan program. Hal ini sangat berbeda dengan prinsip kerja di atas di alam.
Langkah 5: Gunakan untuk Loop untuk Menggambar Garis
Setelah kita menguasai penggunaan randomSeed, kita dapat mencoba mengubah fungsi menggambar. Misalnya, mengubah gambar lingkaran menjadi gambar garis. Hanya jika kita merancang beberapa peraturan yang berubah hingga akhir garis, kita dapat menggunakan banyak garis yang terjalin untuk membuat pola yang unik.
Contoh Kode (5-9):
[cceN_cpp theme="fajar"] batalkan pengaturan(){
ukuran (700, 700);
latar belakang(0);
}
batal menggambar(){
biji acak(0);
untuk(int i = 0; i < 2000; i++){
float x1 = lebar/2.0;
float x2 = acak(50,0, 650.0);
pukulan (255, 20);
garis(x1, 50, x2, 650);
}
} [/cceN_cpp]
Buat Kuas Sederhana
Kembali ke for loop lagi. Contoh di atas tidak interaktif. Jika kita ingin membuat hasilnya lebih menarik, jangan lupa untuk menggabungkan mouseX dan mouseY ke dalam kode kita.
Contoh Kode (5-10):
[cceN_cpp theme="fajar"] batalkan pengaturan(){
ukuran (700, 700);
latar belakang (255);
tidak ada Stroke();
}
batal menggambar(){
untuk(int i = 0;i < 1000;i++){
isi(0, 30);
float x = mouseX + acak(-50, 50);
float y = mouseY + acak(-50, 50);
elips(x, y, 2, 2);
}
} [/cceN_cpp]
Kuas "titik hamburan" dibuat. Karena setiap titik putaran mini intensif didasarkan pada posisi mouse, ia dapat bergerak ke arah yang terbatas dari empat arah kiri, kanan, atas dan bawah. Jadi bentuk akhir penyebaran kuas mirip dengan persegi.
Contoh Kode (5-11):
[cceN_cpp theme="fajar"] batalkan pengaturan(){
ukuran (700, 700);
latar belakang (255);
tidak ada Stroke();
}
batal menggambar(){
untuk(int i = 0;i < 1000;i++){
rasio float = lebar mouseX/(float);
float x = mouseX + acak(-50, 50);
float y = mouseY + acak(-50, 50);
isi(0, rasio * 255, 255 * (1 - rasio), 30);
elips(x, y, 2, 2);
}
}
[/cceN_cpp]
Jika kita menggunakan nilai mouseX untuk mempengaruhi warna isian, maka kita akan mendapatkan gradien warna yang jauh lebih ajaib.
Langkah 6: Untuk Loop Bersarang
Untuk loop dapat bersarang. Anda dapat menulis perulangan for lagi ke dalam perulangan for. Saat Anda perlu menggambar matriks titik dua dimensi, Anda dapat memilih metode ini.
Contoh Kode (5-12):
[cceN_cpp theme="fajar"] batalkan pengaturan(){
ukuran (700, 700, P2D);
latar belakang (202, 240, 107);
}
batal menggambar(){
isi(0);
untuk(int i = 0;i < 5;i++){
untuk(int j = 0;j < 5;j++){
float x = 150 + i * 100;
mengapung y = 150 + j * 100;
elips(x, y, 60, 60);
println(i + ":" + j);
}
}
}
[/cceN_cpp]
Untuk menggunakan loop bersarang untuk pertama kalinya, Anda harus mengetahui hubungan logikanya. Implementasi kode dalam program selalu dari atas ke bawah. Oleh karena itu, yang pertama diimplementasikan jelas merupakan loop terluar. Setiap kali loop luar beroperasi satu kali, loop internal akan terus beroperasi sampai tidak dapat memenuhi kondisi lagi. Setelah itu, operasi loop luar kedua akan dimulai. Setelah operasi kedua dimulai, loop internal akan terus mengimplementasikan sampai tidak dapat memenuhi kondisi. Pengulangan seperti itu dilakukan sampai semua kondisi tidak dapat dipenuhi dan melompat keluar dari loop.
Pada kode di atas, badan loop pada loop luar telah beroperasi sebanyak 5 kali, sedangkan badan loop pada loop internal telah beroperasi 25 kali. Dalam 25 kali, sesuai dengan perbedaan nilai i, j, kita dapat memastikan koordinat horizontal dan vertikal lingkaran secara terpisah. Saya telah menyematkan bagian print, Anda dapat mengamati output data dan memikirkan perubahannya. Dengan hanya dua loop bersarang, kita dapat mengalami semua kombinasi data i, j.
Tips
Untuk loop di layer kedua biasanya diringkas dengan Tab di awal. Ini dapat membuat struktur kode lebih jelas. Anda harus memberi nama variabel lokal di dua lapisan for loop dengan nama yang berbeda. Di antara itu, "i", "j", "k" adalah yang paling umum digunakan.
Fleksibel Gunakan "i", "j"
Dua nama variabel "i", "j" mewakili variabel lokal dari dua lapisan for loop. Contoh di bawah ini akan memperdalam pemahaman Anda tentang "i""j". Menurut nilai yang berbeda dari "i", "j", kita dapat memasukkan parameter untuk mengelompokkan elemen.
Contoh Kode (5-13):[cceN_cpp theme="fajar"] void setup() {
ukuran (700, 700);
latar belakang(0);
tidak ada Stroke();
}
batal menggambar() {
latar belakang(0);
isi(250, 233, 77);
untuk (int i = 0; i < 7; i++) {
untuk (int j = 0; j < 7; j++) {
pushMatriks();
terjemahkan(50 + i * 100, 50 + j * 100);
// Pengaturan 1
//sudut mengambang = sin(milis() / 1000.0) * PI/2;
// Pengaturan 2
//rasio mengambang = i/7.0;
//sudut mengambang = sin(milis() / 1000.0 + rasio * (PI/2)) * PI/2;
// Pengaturan 3
rasio float = (i * 7 + j)/49.0;
sudut float = sin(millis() / 1000,0 + rasio * (PI/2)) * PI/2;
memutar (sudut);
rectMode(PUSAT);
// Menggambar gambar 1
rect(0, 0, 80, 80);
// Menggambar gambar 2
// rect(0, 0, 100, 20);
// Menggambar gambar 3
//rect(0, 0, rasio * 50);
popMatriks();
}
}
} [/cceN_cpp]
Penjelasan Kode
rectMode(CENTER) dapat mengubah metode menggambar persegi. Dua parameter awal dari rect digunakan untuk menentukan koordinat sudut kiri atas bujur sangkar. Setelah kita memulai perintah ini, kedua parameter ini akan digunakan untuk mengatur koordinat titik pusat persegi. Karena di sini kita mengoperasikan rotasi pola melalui rotasi, sehingga kita perlu menggunakan metode ini untuk menggambar titik pusat ke titik asli koordinat.
millis() memperoleh waktu dari awal program hingga saat ini. Satuannya adalah ms. Nilai ini akan mempengaruhi kecepatan perubahan nilai output sin. Jika kita menulis milis secara langsung, skala perubahannya terlalu besar. Jadi, kita harus membaginya dengan 1000,0.
Di bagian kode ini, kami menggunakan simbol komentar "//" untuk menyembunyikan beberapa pengaturan. Anda dapat mengubah efek dengan memulai atau menutup. Misalnya, jika kita memulai kalimat di belakang "Setting 3", kita harus menggunakan simbol komentar untuk menutup blok kode di belakang "Setting 1" dan "Setting 2". Adapun contoh struktur program serupa dengan variabel lokal yang berbeda, kita dapat menulis dalam format ini. Dengan demikian kita tidak perlu menyimpan beberapa dokumen teknik secara terpisah. Kita dapat sering menggunakan keterampilan ini selama latihan dan pembuatan dan mempertahankan beberapa pengaturan parameter yang memuaskan.
Di antaranya, pengaruh nilai i, j terhadap program terutama diwakili oleh pergeseran "Pengaturan 1 (Pengaturan 2)(Pengaturan 3)". Anda dapat membandingkan hasil output di bawah ini.
Gambarlah gambar 1: Pengaturan 1
Gambarlah gambar 1: Pengaturan 2
Gambarlah gambar 1: Pengaturan 3
Gambarkan gambar 2: Pengaturan 1
Gambarkan gambar 2: Pengaturan 2
Gambar gambar 2: Pengaturan 3
Dalam pengaturan 1, kita tidak menggunakan i dan j untuk mempengaruhi sudut putar setiap elemen. Dengan demikian kita dapat melihat pergerakan setiap elemen adalah sama. Sementara dalam pengaturan 2, kami telah menggunakan nilai i dan baik i dan j dalam pengaturan 3. Akhirnya mereka telah mempengaruhi input parameter fungsi sin melalui rasio. Ini telah mengubah perubahan sudut secara periodik. Karena sebenarnya efek setting 2 dan setting 3 tidak begitu terlihat pada animasi grafis, kita bisa mengamatinya dari screenshot berikut.
Gambar Gambar 2 (Kiri: Setting 2; Kanan: Setting 3)
Gambar Gambar 3 (Kiri: Setting 2; Kanan: Setting 3)
Pada gambar pertama, rasio digunakan untuk mempengaruhi sudut putar persegi. Sedangkan gambar kedua, digunakan untuk mengontrol jari-jari lingkaran secara langsung. Kita dapat melihat bahwa ia telah menggunakan kalimat i value:
rasio mengambang = i/7.0;
Perubahan elemen vertikalnya konsisten. Karena koordinat horizontal untuk mengendalikan gambar hanya bergantung pada nilai i, maka pola dengan koordinat horizontal yang sama akan sama. Dan nilai rasio, sudut putar dan jari-jari lingkaran juga sama.
Pada saat yang sama, kami menggunakan kalimat i, j:
rasio float = (i * 7 + j)/49.0;
Itu bisa menggambarkan "gradien". Di sini, dengan metode perkalian faktor, ia telah menggabungkan pengaruh baris dan kolom. Jadi setiap elemen berbeda.
Langkah 7: Sementara Loop
Ada saudara untuk for loop. Itu adalah while loop. Apa yang for loop bisa lakukan, while loop juga bisa. Tetapi frekuensi penggunaan while loop dalam creativeCoding tidak setinggi for loop.
Contoh Kode (5-14):[cceN_cpp theme="fajar"] void setup(){
int a = 0;
sementara(a < 10){
println(a);
sebuah++;
}
} [/cceN_cpp]
Struktur tata bahasa while lebih mudah dipahami daripada for. Kita dapat membuat variabel sebelum pernyataan while. Kemudian isi ekspresi di dalam tanda kurung siku. Jika sudah terpenuhi, maka operasikan kalimat di dalam loop body. Akhirnya kami menempatkan ekspresi di badan loop untuk memperbarui variabel, lalu while loop selesai. Untuk waktu perulangan terjamin, kita sering menggunakan perulangan for. Sedangkan untuk nilai variabel tak hingga, kami menyarankan Anda untuk menggunakan while loop.
Memikirkan:
Cobalah untuk menggunakan semua jenis elemen dasar untuk menggantikan elemen gambar di loop for untuk membuat berbagai kuas yang berbeda.
Kombinasikan dengan fungsi trigonometri yang disebutkan pada bab terakhir, cobalah untuk merevisi sikat "titik hamburan" menjadi sikat bentuk bulat.
Coba buat dot matrix dua dimensi dengan for loop saja.
Pratinjau Bab BerikutnyaSeperti kursus ini, Anda akan menemukan setiap pengetahuan baru yang Anda pelajari, kemungkinan bermain akan segera meningkat banyak. Program adalah kotak pandora. Segala sesuatu yang dapat Anda bayangkan, dapat melakukannya untuk Anda. Jadi tidak ada alasan bagi kami untuk tidak mempelajari bahasa yang dapat berkomunikasi dengan komputer ini. Dalam bab berikutnya, kami akan memperkenalkan pernyataan kontrol proses lain jika kepada Anda. Ini dapat mengontrol aliran proses dan menghasilkan hasil yang lebih rumit dan dapat diubah. Dengan pernyataan if, Anda dapat membuat game petualangan teks Anda sendiri dengan mudah! Artikel ini berasal dari desainer Wenzy. Bacaan Relatif:Panduan Pemrograman Menarik untuk Desainer--Memproses Sentuhan AwalPanduan Pemrograman Menarik untuk Desainer--Buat Program Pemrosesan Pertama AndaPanduan Pemrograman Menarik untuk Desainer –Dapatkan Gambar Anda Berjalan(Bagian Satu)Panduan Pemrograman Menarik untuk Desainer–Dapatkan Gambar Anda Berjalan(Bagian Kedua)
Langkah 8: Sumber
Artikel ini dari:
Jika Anda memiliki pertanyaan, Anda dapat menghubungi: [email protected].