{"componentChunkName":"component---src-templates-blog-post-js","path":"/sketches/day054","result":{"data":{"site":{"id":"Site","siteMetadata":{"title":"Creative code daily"}},"src":{"id":"32666b9a-eccf-5b29-a70d-d2e1741dab47","publicURL":"/static/day054-3f77ec5c2d394ba022b0eb5e3deb0f00.pde","childRawCode":{"id":"32666b9a-eccf-5b29-a70d-d2e1741dab47 >>> RawCode","content":"/**\n Name: day 54 /> mystery map\n */\n\nimport com.hamoid.*;\n\nboolean isReadyForExport = true;\n\nVideoExport export;\n\nfloat maxFrameNumber = 900; // The number of frame to record\n\nvoid setup() {\n  size(1000, 1000, P2D);\n  smooth(8);\n  pixelDensity(displayDensity()); // HiDPI, comment if too slow\n\n  // colorMode(HSB, 100); // uncomment if you plan to play with colors\n\n  if (isReadyForExport) {\n    export = new VideoExport(this, \"out.mp4\");\n    export.setFrameRate(60);\n    export.startMovie();\n  }\n\n  rectMode(CENTER);\n  noiseSeed(100);\n  noiseDetail(10);\n}\n\nvoid reset() {\n  noStroke();\n  background(255);\n}\n\n// float[][] dots = new float[30][30];\nfloat margin = 150;\nint rows = 16;\nint cols = 16;\nint maxSteps = 3;\nint framesPerStep = floor(maxFrameNumber / maxSteps);\nvoid animation() {\n  fill(0);\n\n  float wSize = (width - margin * 2) / cols;\n  float hSize = (height - margin * 2) / rows;\n\n  int step = frameCount / framesPerStep;\n  noiseSeed(100 * step);\n  int currentStepFrame = frameCount % framesPerStep;\n  float normalizedFrame = float(currentStepFrame) / float(framesPerStep);\n\n  for (int i = 0; i < cols; i++) {\n    for (int j = 0; j < rows; j++) {\n      PVector center = new PVector(\n        margin + i * wSize + wSize * 0.5, \n        margin + j * hSize + hSize * 0.5\n        );\n      float n = noise(center.x * 0.01, center.y * 0.01);\n      float radius = n * n * sin(PI * normalizedFrame);\n      fill(lerpColor(#171313, #ea21a2, radius));\n      rect(center.x, center.y, wSize * .7, hSize * .7, radius * hSize);\n    }\n  }\n}\n\nvoid draw() {\n  reset();\n  animation();\n\n  if (isReadyForExport) {\n    export.saveFrame();\n    if (frameCount == Math.floor(maxFrameNumber / 6)) saveFrame(\"screenshot-1.png\");\n    if (frameCount == Math.floor(maxFrameNumber / 2)) saveFrame(\"screenshot-2.png\");\n    if (frameCount == Math.floor(5 * maxFrameNumber / 6)) saveFrame(\"screenshot-3.png\");\n  }\n\n  if (frameCount >= maxFrameNumber) {\n    if (isReadyForExport) {\n      export.endMovie();\n    }\n    exit();\n  }\n}\n"}},"video":{"id":"fb03ef21-8879-5522-bc35-9b3a8441f515","publicURL":"/static/out-17ee7611cc815cc301f44cc3f4ff2279.mp4"},"screenshot":{"id":"fea884c2-9619-5f0d-9a80-afb29d8a7032","publicURL":"/static/screenshot-2-da3df553d6fc9a5b87e849ce7f0a0b25.png"}},"pageContext":{"nameRegex":"/day054/","name":"day054"}}}