Title: New crumpled surface fractal Post by: Tglad on September 21, 2016, 05:00:16 AM I have been thinking for a while how to make a fractal surface which could be made from a flat plane without stretch. i.e. a developable surface fractal, with zero Gaussian curvature. Anyway, I finally got it and here it is:
(https://1.bp.blogspot.com/-McOi6cy-nrw/V9_NJi1PwSI/AAAAAAAAAuU/ccTOWh_qdKoOKfx2PHcG3AG9jYcqGtJ8gCLcB/s1600/foil%2Bbend%2Bangles.png) It is related to the Koch curve, the four main horizontal axes trace out Koch curves and the bend angle can be changed like the Koch curve, above shows four bend angles, 7.5 degrees up to 30 degrees. I have added it to my collection of variable dimension fractal surfaces: https://sites.google.com/site/tomloweprojects/scale-symmetry/measuring-things-with-fractals (https://sites.google.com/site/tomloweprojects/scale-symmetry/measuring-things-with-fractals) and more details are in my blog: http://tglad.blogspot.com.au/2016/09/foil-surface-fractals.html (http://tglad.blogspot.com.au/2016/09/foil-surface-fractals.html). You build it be repeatedly corrigating the surface at larger corrigations, the first five steps are: (https://2.bp.blogspot.com/-FLrK4pKpr8s/V9_MXgGm0-I/AAAAAAAAAuQ/THOaxfOk7-EASVTIylD4MwcyyrmLRSN_QCLcB/s1600/foil%2Biterations.png) As you can see from the top picture, it is quite an interesting shape, showing lots of square spirals... I don't know at what bend angle it starts to intersect, but it seems to be mostly non-intersecting in all those examples. Title: Re: New crumpled surface fractal Post by: knighty on September 21, 2016, 09:11:19 PM That's really really really hyper cool!
Is it possible to get it by folding a sheet of paper? (edit: of course yes!) Is it related to the "flat torus (http://www.gipsa-lab.fr/~francis.lazarus/Hevea/Presse/index-en.html)"? Title: Re: New crumpled surface fractal Post by: lycium on September 21, 2016, 10:02:14 PM That is indeed awesome, great work!
How do you know it has zero Gauss curvature? Title: Re: New crumpled surface fractal Post by: Tglad on September 22, 2016, 04:14:07 AM Thanks Knighty and Lycium. Yes, it is equivalent to folded or crumpled paper. The difference with the flat torus is that the flat torus is not a fractal, it is the integral of a fractal, or you could say that its derivative is a fractal, so for instance the shading (based on the normals) is a fractal distribution of shades. As result of this is that it has fractal dimension 2, and is made from a finite size piece of paper.
This fractal's dimension is between 2 and 3 depending on the bend angle and so is a crumpled infinitely large piece of paper. Here's a close up for bend angle 15 degrees: (https://3.bp.blogspot.com/-ppp9S2aY_o0/V-JzD7zzHxI/AAAAAAAAAyE/2uJtqWdKHRAjg1K2jccPZ5fKNxt3TmTDACLcB/s1600/crumple1b.png) Does anyone know a good (free) program for rendering meshes? Meshlab's ambient occlusion is not the best and shadows aren't working. The trick in folding the surface is that a reflection about any plane it equivalent to a fold (and a reversal of the fold angles on the reflected side of the plane). So the repeated corrugations are done by repeated reflections. This always keeps the Gaussian curvature at 0. Title: Re: New crumpled surface fractal Post by: hobold on September 22, 2016, 06:29:21 AM Wow, I would not have expected such a surface to exist. Just "folding paper" (not infinitely often and not an infinitely large sheet - but still ...). This is very interesting! Thanks for sharing that find.
BTW, which definition of curvature does apply to a surface that is not differentiable anywhere? Or is this more of an informal way of saying "developable" in other words? (Developable implies that (crumpled/curved) triangles (with geodesic edges) have an angle sum of 180 degrees, which in turn implies some sort of flat-ness, or zero curvature.) Title: Re: New crumpled surface fractal Post by: kz1 on September 22, 2016, 09:15:04 AM You could try Blender for rendering the meshes
https://www.blender.org/ Title: Re: New crumpled surface fractal Post by: Tglad on September 22, 2016, 12:10:15 PM Good points Hobold, Gaussian curvature doesn't seem like the right measure for sharp folds, I think they mean a non-smooth equivalent, using the product of princple angle changes (torus.math.uiuc.edu/jms/Papers/dscrv.pdf (http://torus.math.uiuc.edu/jms/Papers/dscrv.pdf) 4.1 seems to discuss this). Anyway, the description is that it is a built from a flat piece of paper, so I think the correct term is that it is a non-smooth developable surface. An odd thing is that while this is true for any finite iteration depth, at infinite iterations it seems that being developable loses its meaning, since infinite areas can be stretched and shrunk at will.
Building one is not too tricky, define θ=90 degrees and φ is the bend angle: 1. yaw around origin by θ degrees 2. pitch around origin (e.g. around global x axis) by φ degrees 3. scale (dilate) around origin by a factor that gives equal horizontal length each 180 degrees 4. reflect around the horizontal planes (0,0,m) and (0,0,-m) to concertina the surface giving larger corrugations each iteration, where m is doubled each 180 degree yaw 5. repeat until nothing is being reflected. The yaw angle θ can also be varied: (https://1.bp.blogspot.com/-B-uKh_C_fpg/V9_O2kEEuWI/AAAAAAAAAug/QZClWNMGl4MeSV1sAXGxSQ9JeyFspbQ5gCLcB/s1600/foil%2Byaw%2Bangles%2B2.png) when θ=180 (left) you get an extruded Koch curve in each direction from the centre, the third and fourth are θ=60 and θ=120 degrees. However, it is only the θ=90 degrees version that gives simple, repeating fold pattern for any maximum corrugation size. Other yaw angles give unaligned, chaotic fold patterns. So there is a sense in which the 90 degree crumple surface is the better surface, or the only choice for a simple repeating structure. Title: Re: New crumpled surface fractal Post by: knighty on September 22, 2016, 11:22:31 PM I don't understand the 4th step. As I understand it, when applying a reflection to a plane in two different directions it must give a pyramid like shape. By inspecting the "foil+iteration.png" picture, one can see that at each vertex, we have exactly one valley and three ridges (or inversely). This is what is expected when doing an actual folding. I also guess that at each vertex the sum of the 4 angles is always 180°. So it must be another kind of reflexion. :)
Title: Re: New crumpled surface fractal Post by: Tglad on September 23, 2016, 05:18:02 AM I'll try and describe it a bit better... starting with a flat plane, if you pitch it then reflect downwards around a plane at height m, you get an upside down v shape fold, then if you reflect upwards through a plane at height -m it will reflect both ends producing a w shaped fold. Repeat and repeat and repeat until the whole plane is a corrugation like the left image in 'foil+iteration.jpg'. That was step 4.
On doing step 4 the second time it is now the corrugated surface that is pitched (and has been yawed), if you repeatedly reflect about those two planes you get the equivalent of a Miura fold (https://en.wikipedia.org/wiki/Miura_fold (https://en.wikipedia.org/wiki/Miura_fold)) which is the second image in 'foil+iteration.jpg'. Of course, actually doing the reflections on a triangle mesh is a bit of coding, as you have to insert new faces and deal with edge cases. But I have the code available in github at: https://github.com/TGlad/CrumpleSurface (https://github.com/TGlad/CrumpleSurface). Quote I also guess that at each vertex the sum of the 4 angles is always 180° Something like that... I'm not sure the exact rule, is it this: https://en.wikipedia.org/wiki/Kawasaki%27s_theorem (https://en.wikipedia.org/wiki/Kawasaki%27s_theorem)?Title: Re: New crumpled surface fractal Post by: knighty on September 24, 2016, 01:06:26 PM Thank you for the explanation. My problem was that I was thinking in an implicit point of view, that is: reflecting the coordinates.
I was meaning 360° and wrote 180°. :embarrass: Title: Re: New crumpled surface fractal Post by: Tglad on September 27, 2016, 01:26:33 PM Kz1, thanks for the suggestion, here are some renders in Blender. Please give me any tips on any improvements (would fog help show the depth?).
In these images the square patch covers an offset section of the fractal surface, a square from (0,0) to (1,1), where (0,0) is the bottom right hand corner. From this you can see the Koch curve on the bottom edge and along the right edge. The first is a 15 degree bend angle: (https://3.bp.blogspot.com/-f1OfeQ8zW2g/V-ugrVM5cCI/AAAAAAAAA0Q/oBseKvAlo9YOzTlUEQTN-1ysGud5rEwnACLcB/s1600/blenderb.png) One thing I have discovered is this fractal does self-intersect, so in the lingo it is 'immersed' in 3D space but not 'embedded' in 3D space. However the level of self intersection is not really noticeable at bend angle 15. Even at bend angle 22.5 I can't really spot the self intersection in this picture, can you?: (https://2.bp.blogspot.com/-6U0mqXCV6fw/V-ukjLZd4FI/AAAAAAAAA0k/tNexvyWbL4sImKtP1uXJ4bBOCwDRRpsaACLcB/s1600/blenderc.png) Title: Re: New crumpled surface fractal Post by: DarkBeam on September 27, 2016, 02:57:00 PM Formulaaaaaaa
:D :dink: Please please :-* Title: Re: New crumpled surface fractal Post by: hobold on September 27, 2016, 03:56:18 PM Please give me any tips on any improvements (would fog help show the depth?). Fog has a tendency to show scale rather than depth. That's because under " mostly clear day" conditions, atmospheric attenuation only becomes visible at long distances. So fog can give the impression of a huge mountain range.I think Blender supports some form of environmental illumination, say, a sky sphere that provides different incoming light from different directions. Or perhaps an environmental texture can be used to specify such incoming light. Sorry, I don't know the exact terminology that Blender would use. In either case, such non-constant light sources can add a lot of depth to images. Similar visual cues can be provided in a simpler, less perfect way by surrounding the scene with a few secondary light sources of slightly different color. That way, pieces of the surface show subtle color shifts based on their local normal vector. And finally, since Blender has a large community supporting it, there might be example shaders available that you can experiment with. But again I do not know pointers to specific resources on the web. Title: Re: New crumpled surface fractal Post by: Tglad on September 28, 2016, 01:31:52 PM Good suggestions Hobold, I'll try something like that when I get the time. By the way, I have updated the images as I was missing the very biggest sized fold, which is fixed now.
DarkBeam, I don't think it has an escape time formula, the best description is the 1-5 seven posts ago, and I gave a link to the source code. Soon I will just provide a windows .exe for generating .ply meshes, with some command line parameters. Title: Re: New crumpled surface fractal Post by: DarkBeam on September 29, 2016, 01:22:56 PM thanks. I still hope in a miracle ... knighty? :D
Title: Re: New crumpled surface fractal Post by: Tglad on September 30, 2016, 01:23:15 AM I added four different coloured local lights... it looks a bit odd but I think it definitely gives a better impression of the 3D shape. Here's bendangle 0 up to 22.5 degrees:
(https://4.bp.blogspot.com/-Kv222kBAgtY/V-zj8F1goEI/AAAAAAAAA08/neBy-iyaAawHcUhjgLNnuEsBFRZNgGkBACLcB/s1600/bendangle.png) (does anyone remember how to change the size in the 'img' wiki tag? these are too big) Even though it is a complicated shape, the folds lines on the flat piece of paper are essentially just millions of repetitions of one curve, which looks like this for bendangle 7.5 degrees: (https://1.bp.blogspot.com/-vqcslmYXK88/V-z1VksVhoI/AAAAAAAAA1U/ARA-RezFW3grjq9v3jB9fIVqOaLCeZo8QCLcB/s1600/foldshape.png) The surface's fractal dimension is (https://2.bp.blogspot.com/-ZwOLyWwrIpk/V-2gqVwNecI/AAAAAAAAA1s/tSrAnHwWNJcy8eCT2Y9tyhYKrUoVn4OJACLcB/s1600/CodeCogsEqn%2B%25286%2529.png) where φ is the bend angle. Title: Re: New crumpled surface fractal Post by: DarkBeam on September 30, 2016, 05:23:44 PM and when phi approaches pi/2? Fractal with infinite dimensions? :hurt: Ouchies ;)
Title: Re: New crumpled surface fractal Post by: hobold on October 01, 2016, 01:10:48 PM I added four different coloured local lights... it looks a bit odd but I think it definitely gives a better impression of the 3D shape. I did not explain well enough what I meant. My suggestion was not so much about local lights, but about incoming light having different colour depending on direction. In other words, I had somewhat distant light sources (surrounding the scenery) in mind, that would influence the whole surface more or less evenly. But every single little triangular facet would - depending on its surface normal (i.e. its orientation) - get a strongly varying mix of those surrounding colors.Say, a facet facing more north would "see" a northern light source and get more of that light's color, but less of the southern light. Likewise for east and west, or however you would want to distribute the lights. I hope that is a bit clearer. (In a perfect world, I would have provided images as visual examples.) Title: Re: New crumpled surface fractal Post by: Tglad on October 02, 2016, 06:51:50 AM Yes that might work better, it might just be a case of trying out several such ideas. Another way to get depth cues is to add an image to the surface... I tried adding texture coordinates to the .ply but couldn't get it to load. The file format doesn't seem to be clear for this.
DarkBeam: That is normal, the Koch and Levy curves both approach infinite fractal dimension as the bend angle increases, this is possible on a 2D plane because they overlap, so the set is 'immersed in' rather than 'embedded' in 2D. For the Koch curve it only overlaps for bend angles greater than its 'maximum' (where it gives a solid triangle), for the Levy curve it overlaps for all bend angles > 0. This crumpled surface fractal is a bit like an intermediate of those two, with a smallish overlap up until its 'maximum' of 45 degrees. The Volcanic surface fractal http://tglad.blogspot.com.au/2012/11/volcanic-surface-fractal.html (http://tglad.blogspot.com.au/2012/11/volcanic-surface-fractal.html) on the other hand has no overlap until its dimension goes beyond about 2.3. Title: Re: New crumpled surface fractal Post by: DarkBeam on October 02, 2016, 05:48:13 PM Very interesting reply thanks :)
Title: Re: New crumpled surface fractal Post by: Tglad on October 03, 2016, 06:18:55 AM Here's the executable for Windows 64 bit: https://drive.google.com/file/d/0B8S7Si-yu3Doa19yNy1MaTRPdkU/view?usp=sharing (https://drive.google.com/file/d/0B8S7Si-yu3Doa19yNy1MaTRPdkU/view?usp=sharing) It is super easy to use, just run it from the command line by typing Folding -f myFileName -b 15 -y 90 -c 128 for a bend angle 15 degrees, yaw angle 90 degrees and to save out as myFileName.ply. Larger values of -c give more detailed meshes Or Folding -h for help. The source code and some example meshes are also at the bottom of my blog post: http://tglad.blogspot.com.au/2016/09/foil-surface-fractals.html (http://tglad.blogspot.com.au/2016/09/foil-surface-fractals.html) |