View previous topic :: View next topic |
Author |
Message |
lopkiol
Joined: 26 Jan 2007 Posts: 20 Location: United Kingdom
|
Posted: Fri Jan 26, 2007 7:32 pm Post subject: Periodic lattices |
|
|
These are 4 periodic lattices, with number of rods per node equal to 3, 4, 6 and 8. They come respectively from the Schwarz's surfaces G (Gyroid), D (Diamond), P (Plumber's nightmare) and W (Whatdoesitstandfor?).
Best at 60x60x60 grid resolution.
Enjoy the view.
Compute x, y and z between -0.25*pi and 2.75*pi:
G: cos(x)*sin(y)+cos(y)*sin(z)+cos(z)*sin(x)+0.08*(cos(2*x)*cos(2*y)+cos(2*y)*cos(2*z)+cos(2*z)*cos(2*x))+1.47
D: sin(x)*sin(y)*sin(z)+sin(x)*cos(y)*cos(z)+cos(x)*sin(y)*cos(z)+cos(x)*cos(y)*sin(z)-0.07*(cos(4*x)+cos(4*y)+cos(4*z))+1.17
Compute x, y and z between 0 and 4*pi:
P: cos(x)+cos(y)+cos(z)+0.51*(cos(x)*cos(y)+cos(y)*cos(z)+cos(z)*cos(x))+1.47
W: cos(2*x)+cos(2*y)+cos(2*z)-1.95*(cos(x)*cos(y)+cos(y)*cos(z)+cos(z)*cos(x))+2.8 |
|
Back to top |
|
|
nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Fri Jan 26, 2007 10:06 pm Post subject: Re: Periodic lattices |
|
|
lopkiol wrote: | These are 4 periodic lattices, with number of rods per node equal to 3, 4, 6 and 8. They come respectively from the Schwarz's surfaces G (Gyroid), D (Diamond), P (Plumber's nightmare) and W (Whatdoesitstandfor?).
Best at 60x60x60 grid resolution.
Enjoy the view.
|
waw lopkiol...really great structures
An image of what lopkiol is talking about:
Taha _________________ Cheers,
Abderrahman |
|
Back to top |
|
|
lopkiol
Joined: 26 Jan 2007 Posts: 20 Location: United Kingdom
|
Posted: Fri Feb 02, 2007 7:21 pm Post subject: |
|
|
Thanks Taha. How can I post an image I have on my HD? |
|
Back to top |
|
|
nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Sun Feb 04, 2007 5:48 am Post subject: |
|
|
Hi,
Try this link:
http://imagehost.bizhat.com/
I just discovered this free service
Taha _________________ Cheers,
Abderrahman |
|
Back to top |
|
|
nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Sun Feb 04, 2007 5:52 am Post subject: |
|
|
When you uploaded the image, look for the third code "Thumbnail for Forums - BB Code"
Test:
_________________ Cheers,
Abderrahman |
|
Back to top |
|
|
lopkiol
Joined: 26 Jan 2007 Posts: 20 Location: United Kingdom
|
Posted: Sun Feb 04, 2007 1:24 pm Post subject: |
|
|
Great! This the skeletal graph of a gyroid between -1.75*pi and 2.25*pi.
cos(x)*sin(y)+cos(y)*sin(z)+cos(z)*sin(x)+0.05*(cos(2*x)*cos(2*y)+cos(2*y)*cos(2*z)+cos(2*z)*cos(2*x))+1.4
|
|
Back to top |
|
|
nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Sun Feb 04, 2007 4:39 pm Post subject: |
|
|
Beautiful look and colors...quite surealistic!
Did they all belong to a familly of mathematical surfaces?
Taha _________________ Cheers,
Abderrahman |
|
Back to top |
|
|
lopkiol
Joined: 26 Jan 2007 Posts: 20 Location: United Kingdom
|
Posted: Sun Feb 04, 2007 6:25 pm Post subject: |
|
|
Yes, they are triply periodic trigonometric functions. It's quite easy to experiment with them, just try out a combination of sines and cosines paying attention to the symmetry of x, y and z. The most famous examples are already in K3DSurf.
Have a look to the Matematical Sciences Research Institute in Berkeley: http://www.msri.org/about/sgp/jim/geom/level/skeletal/index.html |
|
Back to top |
|
|
lopkiol
Joined: 26 Jan 2007 Posts: 20 Location: United Kingdom
|
Posted: Mon Feb 05, 2007 11:20 am Post subject: |
|
|
The problem with this kind of surfaces is that they are open on the sides. It would be useful to provide the program with some patch addition feature (on the boundaries, the bounding box) so that a closed volume could be defined.
This is a variable density gyroid generated via a small routine in C that include bounding patches generation. The model is used for bone microstructure modeling. The file was a gts (GNU Triangulated Surface Library) and it has been converted to an stl for the creation on an SLS (Selective Laser Sintering) machine.
I would like to show you the 3D but I need to know how. A VRML?
|
|
Back to top |
|
|
nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Mon Feb 05, 2007 3:29 pm Post subject: |
|
|
lopkiol wrote: | The problem with this kind of surfaces is that they are open on the sides. It would be useful to provide the program with some patch addition feature (on the boundaries, the bounding box) so that a closed volume could be defined.
|
Hi,
Thanks for the link and for the model...very interesting use of mathematical models
Boundaries could be closed by using some CSG transformations along with Isosurfaces formulas, so a closed volume can be defined: Example
cube - sphere : ( x^10 + y^10 + z^10 -1)* (x*x + y*y + z*z - 1) .
However, complicated formulas need some work. I'll try to post some examples later.
VRML is well supported by all web browsers so it should be great to visualise your model in 3D ( I'm planing in near future to make K3DSurf able to load some basic models in OBJ and VRML file format...) _________________ Cheers,
Abderrahman |
|
Back to top |
|
|
lopkiol
Joined: 26 Jan 2007 Posts: 20 Location: United Kingdom
|
Posted: Mon Feb 05, 2007 7:37 pm Post subject: |
|
|
Good idea! Let's try. I generate the surface (don't look at the background, it seems I was using 2 applications, but actually I don't know where the hell it comes from, it's probably Paint fault... ):
I insert the smooth cube:
And cut out the crap with the CND (look at the values in red, I needed to reduce that number because it eats the surface otherwise):
Result: it seems to be alright, but a close look reveals holes in the patches... |
|
Back to top |
|
|
nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Mon Feb 05, 2007 11:41 pm Post subject: |
|
|
Try to use the "if" instructions like shown in this examples :
Schwartz + Cube : Quote: |
F():if(
(x^10 + y^10 +z^10 < 100000), //Condition
(cos(x) + cos(y) + cos(z) ) , // Schwartz
- (x^10 + y^10 +z^10 - 100000) // Cube with the signe"-"
)
[x]:-4, 4 [y]:-4, 4 [z]:-4, 4 |
_________________ Cheers,
Abderrahman |
|
Back to top |
|
|
jotero
Joined: 27 Jan 2007 Posts: 153 Location: Germany Hannover
|
Posted: Tue Feb 06, 2007 7:56 am Post subject: |
|
|
my idea ;)
Quote: | F():( x^10 + y^10 + z^10 -1)- ((1/10^5.2)^ (cos(2*x) * cos(2*y)+
cos(2*y) * cos(2*z)+ cos(2*z) * cos(2*x)))
[x]:-4.10, 4.10
[y]:-4.10, 4.10
[z]:-4.10, 4.10
|
ciao
torolf _________________ Kontakte |
|
Back to top |
|
|
lopkiol
Joined: 26 Jan 2007 Posts: 20 Location: United Kingdom
|
Posted: Tue Feb 06, 2007 12:21 pm Post subject: |
|
|
nextstep wrote: | Try to use the "if" instructions |
Perfect! That was the function I needed! I wanted parallel planes on the sides so I wrote this:
if((abs(x)<2*pi)&(abs(y)<2*pi)&(abs(z)<2*pi),cos(x)+cos(y)+cos(z)+0.53*(cos(x)*cos(y)+cos(y)*cos(z)+cos(z)*cos(x))+1.4,1)
with boundaries -2*pi and 2*pi.
I don't know why, but it works really well!
The "else" field, as you can clearly see, is "1". This means 1=0, that is impossible. But it works...
I noticed that I can also adjust the smoothness of the patches by varying this number between an arbitrary small positive number (curved)
to an arbitrary big one (flat).
I guess it is something that has to do with the resolution of the numbers in the computer, but the point is that I like it.
Jotero, your structure is beautiful but I wanted to patch mine. How the hell can you go up to 239 of grid resolution?!?
ciao
Ruggero |
|
Back to top |
|
|
jotero
Joined: 27 Jan 2007 Posts: 153 Location: Germany Hannover
|
Posted: Tue Feb 06, 2007 12:33 pm Post subject: |
|
|
>How the hell can you go up to 239 of grid resolution?!?
265 is ok
and export
very nice
-1/10^1
-1/10^0.1
ciao
torofl _________________ Kontakte |
|
Back to top |
|
|
|