CARVIEW |
Select Language
HTTP/2 200
date: Sat, 11 Oct 2025 18:25:20 GMT
content-type: text/html
server: cloudflare
last-modified: Thu, 28 Oct 2010 14:02:44 GMT
cf-cache-status: DYNAMIC
vary: Accept-Encoding
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=AFEfx6ta3eF%2FHPZYdFo%2FznXbjdSxud6z1vxFUATfXl6gG38S4uJjCdwN%2FCkBEHlMQRFb7X8g9qvIEjirrgpu1FkyKo2n8g7cNMM4lbc%3D"}]}
content-encoding: gzip
cf-ray: 98d06646eeffc266-BOM
alt-svc: h3=":443"; ma=86400
Processing.js
Recursion
A demonstration of recursion, which means functions call themselves. Notice how the drawCircle() function calls itself at the end of its block. It continues to do this until the variable "level" is equal to 1.
Original Processing.org Example: Recursion
// All Examples Written by Casey Reas and Ben Fry // unless otherwise stated. void setup() { size(200, 200); noStroke(); smooth(); noLoop(); } void draw() { drawCircle(126, 170, 6); } void drawCircle(int x, int radius, int level) { float tt = 126 * level/4.0; fill(tt); ellipse(x, 100, radius*2, radius*2); if(level > 1) { level = level - 1; drawCircle(x - radius/2, radius/2, level); drawCircle(x + radius/2, radius/2, level); } }