# Doodles Wall c\[\_\]

**URL:** <https://openrndr.discourse.group/t/doodles-wall-c/51>\
**Category:** Gallery\
**Created:** [March 11, 2020, 9:20am UTC](https://openrndr.discourse.group/t/doodles-wall-c/51 "2020-03-11T09:20:39Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![ricardo](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/ricardo/32/8_2.png) [@ricardo](https://openrndr.discourse.group/u/ricardo)\
**Post date:** [August 31, 2020, 7:16am UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/61 "2020-08-31T07:16:21Z")

</div>

![TemplateProgram-2020-08-30-17.54.59_02](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/b4c55297b70d0e9d5b1c067f05142be8fa8152ce.png)

---

<div class="post-metadata">

**Author:** ![ricardo](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/ricardo/32/8_2.png) [@ricardo](https://openrndr.discourse.group/u/ricardo)\
**Post date:** [September 3, 2020, 3:37pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/62 "2020-09-03T15:37:39Z")

</div>

this is not a painting

 ![watercolor-0](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/468a1b8f0b404c7d64b983b0a6a749e957daaa41.png)

---

<div class="post-metadata">

**Author:** ![Yann](https://avatars.discourse-cdn.com/v4/letter/y/bc79bd/32.png) [@Yann](https://openrndr.discourse.group/u/Yann)\
**Post date:** [September 3, 2020, 7:01pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/63 "2020-09-03T19:01:02Z")

</div>

here is a recent one I did (inspired by [this animation](https://www.instagram.com/p/CA3U-ZECKQQ/?utm_source=ig_web_copy_link))

it was a bit painful to draw the edges for each box. Here is the code: [https://gist.github.com/ylegall/40a150bdcb1af53ff723583623320800](https://gist.github.com/ylegall/40a150bdcb1af53ff723583623320800)  
let me know if there is an easier way

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [September 4, 2020, 9:06am UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/64 "2020-09-04T09:06:03Z")

</div>

Very nice. Did you somehow increase the edge contrast between colors? How did you layout the strokes and choose the colors?

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [September 4, 2020, 9:08am UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/65 "2020-09-04T09:08:15Z")

</div>

Nice 🙂 Could you shortly describe why it was hard to draw the box edges and how you tried to solve it? I know I can look at the code, but that doesn’t tell how you got there 🙂

---

<div class="post-metadata">

**Author:** ![ricardo](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/ricardo/32/8_2.png) [@ricardo](https://openrndr.discourse.group/u/ricardo)\
**Post date:** [September 4, 2020, 9:19am UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/66 "2020-09-04T09:19:00Z")

</div>

Thanks! The edge contrast that you refer to is the impact of specular lighting. I’m creating a normal map of the image and doing bump mapping with a basic 3d lighting shader. The algorithm uses feedback to move pixels around, the colors are from one picture and the movement by another.

---

<div class="post-metadata">

**Author:** ![Yann](https://avatars.discourse-cdn.com/v4/letter/y/bc79bd/32.png) [@Yann](https://openrndr.discourse.group/u/Yann)\
**Post date:** [September 4, 2020, 6:26pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/67 "2020-09-04T18:26:10Z")

</div>

@abe, for the box mesh, I used the built-in function `boxMesh()` from the mesh generators. This part is easy. but to draw the edge strokes, I had to manually enumerate each segment3D:

```auto
val leftTopFront = Vector3(-size, -size, -size)
val rightTopFront = Vector3(size, -size, -size)
...
return listOf(
                    Segment3D(leftTopFront, rightTopFront),
                    Segment3D(rightTopFront, rightBottomFront),
                   ...

```

Then I transform these segments to match the location/rotation/scale of the box:

```auto
val tx = transform { ... }
edges[i] = baseSegments.map { it.transform(tx) }

```

I was hoping there was a simpler way of specifying an edge “stroke” when rendering a mesh. For example, in processing/p5js this seems to be built-in:  
[https://editor.p5js.org/ylegall/sketches/6fqgaJcwP](https://editor.p5js.org/ylegall/sketches/6fqgaJcwP)

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [September 5, 2020, 3:11pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/68 "2020-09-05T15:11:50Z")

</div>

So far it has some constraints but no goals yet.

 ![rubick.mp4b](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/707d21ec7e243256eba747addc3558e0c0167792.gif)

---

<div class="post-metadata">

**Author:** ![axel](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/axel/32/146_2.png) [@axel](https://openrndr.discourse.group/u/axel)\
**Post date:** [September 7, 2020, 8:05pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/69 "2020-09-07T20:05:24Z")

</div>

Recent obsession - spirals

 ![SpiralFill2_20200725_124853_random_d.svg](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/36adbc4f482468cc14e1d808e084429a2f9374a7.jpeg) ![SpiralFill2_20200725_124038_random_d.svg](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/f4bc48b59ad572ca7d729f8af0d38e2476aa5704.jpeg) ![IMG_9119](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/3cbc3d769742ab38f8549c988a416622e75642de.jpeg) ![SpiralFill5Generator_20200816_230856_test.svg](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/858c0cd8f044f28c2b9f4a379ad84b8531cec184.jpeg)

---

<div class="post-metadata">

**Author:** ![ricardo](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/ricardo/32/8_2.png) [@ricardo](https://openrndr.discourse.group/u/ricardo)\
**Post date:** [September 9, 2020, 6:36pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/70 "2020-09-09T18:36:25Z")

</div>

@axel beautiful pieces, would you mind elaborating on the process please?

creative coding doesn’t need to be all coding #2

https://player.vimeo.com/video/456285448

---

<div class="post-metadata">

**Author:** ![axel](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/axel/32/146_2.png) [@axel](https://openrndr.discourse.group/u/axel)\
**Post date:** [September 10, 2020, 6:23pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/71 "2020-09-10T18:23:57Z")

</div>

@ricardo - sure, though it is not too deep actually: first step was to define a spiral object, given starting point, angle of starting arc, distance to center and ‘steepness’ of the logarithmic spiral. With that in hand, starting from one spiral I pick some starting point in the outer arm of the spiral as start for the next spiral, space permitting. Iteration then basically randomly (I had tried to be clever in finding space, but in the end random seemed good enough). Depending on how much variation is allowed for size and steepness in the new spirals, very different patterns emerge (these are basically represented in the upper two plots in the previous post).  
Then I tried to allow also (small) spirals in the inner parts of existing spirals - eg as seen in the last white one (of the previous post). While aiming to that I first forgot to check spacing with the parent spirals - allowing only overlaps between direct parent and child. Actually I think that was a lucky mistake, as I like the generated black version (previous post) very much 🙂  
There are always so many things to try - eg here still 2 more: first where ‘steepness’ depends on place to generate a gradient effect, second to create kind of a ‘metaspiral’ pattern by varying the size of spirals based on another larger spiral pattern.

 ![SpiralFill5Generator_20200820_183913_gradient_with_b.svg](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/4012c4a79c27dca3f5b4efd5669b23dac87bf166.jpeg) ![SpiralFill5Generator_20200818_193242_meta_placedependent.svg](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/2782b858a5882135061979227bbafda9b1e063b9.jpeg)

---

<div class="post-metadata">

**Author:** ![Yann](https://avatars.discourse-cdn.com/v4/letter/y/bc79bd/32.png) [@Yann](https://openrndr.discourse.group/u/Yann)\
**Post date:** [September 17, 2020, 11:11pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/72 "2020-09-17T23:11:51Z")

</div>

Here is a current work in progress:

1. create a shape contour from an orthographic projection of a cube.
2. starting from positions along that contour, trace paths using polar simlpex noise (2D curl noise)

 ![noise-lines](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/2d91e83dbada4578987b6afdc346c191d855570d.png)

edit: looping video:

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [September 21, 2020, 8:26am UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/73 "2020-09-21T08:26:41Z")

</div>

Testing the splitting of ShapeContours with a ShapeContour (using straight segments, no actual curves).  
 ![split3](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/436aa1dcbcb0b3da4003b5e0821aefe1aa902974.gif)

The gray circles show the first point of each resulting contour.

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [September 23, 2020, 7:09pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/74 "2020-09-23T19:09:21Z")

</div>

More contour splitting

 ![2020-09-23-210551_677x507_scrot](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/fa082af96263f7e2e8c0816ed8a6e8998861a0f8.png)

---

<div class="post-metadata">

**Author:** ![Yann](https://avatars.discourse-cdn.com/v4/letter/y/bc79bd/32.png) [@Yann](https://openrndr.discourse.group/u/Yann)\
**Post date:** [September 26, 2020, 5:18pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/75 "2020-09-26T17:18:41Z")

</div>

3D circle pack:

---

<div class="post-metadata">

**Author:** ![kazik](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/kazik/32/7_2.png) [@kazik](https://openrndr.discourse.group/u/kazik)\
**Post date:** [September 30, 2020, 9:00pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/76 "2020-09-30T21:00:48Z")

</div>

I was playing a bit with big shaded particles moving according to Brownian motion calculated with compute shaders and taking some gravity into account. If particles are small, I can actually animate hundreds of thousands of them in real time on my integrated intel GPU. Nice.

 ![Screenshot from 2020-09-25 12-01-47](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/7f0b2379137d9bfe1ce9b9ed934da14af1e5d23a.png)

---

<div class="post-metadata">

**Author:** ![Yann](https://avatars.discourse-cdn.com/v4/letter/y/bc79bd/32.png) [@Yann](https://openrndr.discourse.group/u/Yann)\
**Post date:** [September 30, 2020, 9:06pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/77 "2020-09-30T21:06:32Z")

</div>

the shading looks great!

---

<div class="post-metadata">

**Author:** ![Yann](https://avatars.discourse-cdn.com/v4/letter/y/bc79bd/32.png) [@Yann](https://openrndr.discourse.group/u/Yann)\
**Post date:** [October 4, 2020, 6:06pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/78 "2020-10-04T18:06:48Z")

</div>

expanding spiral mesh with a texture:

---

<div class="post-metadata">

**Author:** ![Yann](https://avatars.discourse-cdn.com/v4/letter/y/bc79bd/32.png) [@Yann](https://openrndr.discourse.group/u/Yann)\
**Post date:** [October 5, 2020, 9:17pm UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/79 "2020-10-05T21:17:51Z")

</div>

[[Album] shortest path branches ![](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/f72851d145f960e3a85ec8a2f45be7be7b8abe09.jpeg "shortest path branches") ](https://imgur.com/gallery/40uDyPp)
  
process:
1. create random points using poisson disc sampling.
2. for efficiency, index these points in a kd-tree or similar data structure.
3. start from some point and find the shortest path to every other point (e.g. using Dijkstra’s algorith).
4. render smoothed contours of each path.

---

<div class="post-metadata">

**Author:** ![ricardo](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/ricardo/32/8_2.png) [@ricardo](https://openrndr.discourse.group/u/ricardo)\
**Post date:** [October 13, 2020, 9:32am UTC](https://openrndr.discourse.group/t/doodles-wall-c/51/80 "2020-10-13T09:32:36Z")

</div>

![SketchComp02-2020-10-12-21.50.26](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/03d63ce84d036de2d496e053bcbc3c83bce6b64f.jpeg)

[tweet](https://twitter.com/ricardomatiaspt/status/1315948107381833734)

[Previous page](https://openrndr.discourse.group/t/doodles-wall-c/51.md?page=3)

[Next page](https://openrndr.discourse.group/t/doodles-wall-c/51.md?page=5)
