View previous topic :: View next topic |
Author |
Message |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Thu Oct 13, 2011 11:43 pm Post subject: |
|
|
Hello,
I'd like to say sorry, I've made mistake ( underestimation or no attention ), for example in 2D (x, f(x)) to get a normal (or tangential) dimension N, it must be independently changeing in response to the change of the angle Theta, if not N is equivalent to x ( N~x or N = g(x) ), as h-->0 N(f, h) --> N(f) = N(f(x)) that means N = g(x), I had got good results using low values for R (0<R<=0.2) , that's what made me did not pay attention about, it was very clear that there is no equivalence between my two writings ( the first definition and my latest result )
It's impossible, N can not be of the form G(f, df/dx) , in my method used this angle Theta = atan((f(x+h)-f(x))/h), as h-->0 it became atan(df/dx) = Theta(x) .
let's see something and firstly considering this figure:
look at this: ( f(x)= sin(x) , h=1 )
now, we have the normal dimension of the straight line (AB) N=(y-f(xi))*cos(Theta)-(x-xi)*sin(Theta) and as h-->0 it will be N = (y-f(x))*cos(atan(df/dx)) because xi -->x and as I said Theta will be atan(df/dx)
an example f(x)=x^2, we have so N = (y-x^2)*cos(atan(2*x)) and let's write N^2+z^2-0.01, we will get this:
another example for f(x)=sin(x) we have N = (y-sin(x))*cos(atan(cos(x))) and if you write the same you'll get:
Now in 3D (z= f(x,y)) we should consider one variable as a constant, for example y = c or we can use the "floor" function again writing N = g(x, floor(n*y+0.5)/n, z) and N^2+(y- floor(n*y+0.5)/n )^2-R^2 (or generally H(N, y- floor(n*y+0.5)/n )=0 ) , we can try this example z = sin(x)*cos(y) writing ((z- sin(x)*cos(floor(3*y+0.5)/3))*cos(atan(cos(x)* cos(floor(3*y+0.5)/3))) )^2+(y- floor(3*y+0.5)/3 )^2-0.01
now for making squares patterned surfaces we should work with respect to x and then to y and finally write min(formula1 , formula2 )=0 , for the same previous example let's do the same with respect to y , we write : ((z- sin(floor(3*x+0.5)/3)*cos(y))*cos(atan(-sin(floor(3*x+0.5)/3)* sin(y))) )^2+(x- floor(3*x+0.5)/3 )^2-0.01
and finally write :
min( ((z- sin(x)*cos(floor(3*y+0.5)/3))*cos(atan(cos(x)* cos(floor(3*y+0.5)/3))) )^2+(y- floor(3*y+0.5)/3 )^2-0.01 , ((z- sin(floor(3*x+0.5)/3)*cos(y))*cos(atan(-sin(floor(3*x+0.5)/3)* sin(y))) )^2+(x- floor(3*x+0.5)/3 )^2-0.01 )
so, as a direct result (f=0) the squares pattern is : min( (x-floor(n*x+0.5)/n)^2+z^2-R^2 , (y-floor(n*y+0.5)/n)^2+z^2-R^2 ) = 0 or a better writing: min( (x-floor(n*x+0.5)/n)^2 , (y-floor(n*y+0.5)/n)^2 )+z^2-R^2 = 0
anyway we have created a kind of patterned surfaces making using h no equal zero (floor must be exist) , in this case we should write :
such that:
for example: (z = sin(x/2) , h=1 )
Code: | min(( (z-sin(floor(x)/2) )*cos(atan(sin((floor(x)+1)/2)-sin(floor(x)/2)) )-(x-floor(x))*sin(atan(sin((floor(x)+1)/2)-sin(floor(x)/2)) ) )^2+(y-floor(y+0.5))^2-0.01,(x-floor(x+0.5))^2+(z-sin(floor(x+0.5)/2))^2-0.01 )
[x]: -8.5 , 8.5
[y]: -5.5 , 5.5
[z]: -1.2 , 1.2 |
_________________ My YouTube channel
Last edited by abdelhamid belaid on Sun May 19, 2013 9:53 pm; edited 3 times in total |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Wed Oct 19, 2011 11:10 pm Post subject: Patterns making method |
|
|
Hello all,
I don't know maybe you have noticed that we can get patterns (ornaments) using the floor function, as you know to make patterns you need multiplicity along certain axis (or generally along certain dimension), to make a pattern we make firstly one cell using certain method and then we do multiplicity for it in certain way as well, so let F(x,y,z)=0 an isocurface ( an elementary cell ) to do multiplicity along the x axis you have but to substitute each x in our formula in x-floor(n*(x-c))/n such that 1/n is the period you want and c is a constant to make displacement for getting coincidence with the our isocurface F(x,y,z)=0 ( for example we have a<= x<= b so c=a ) , in the general case where your elementary cell is F(u,v,w)=0 (u,v and w are three orthogonal dimensions two by two), you have to substitute each u in u-floor(n*(u-c))/n and so ...
here is the x-floor(x) function graph:
an example:
let F(x,y,z) = ( (x^20+y^20)^0.05-1-cos(8*atan2(y,x))/8 )^2 + 2*z^2 -0.04 (this is our elementary cell)
now let's substitute each x in x-2.5*floor((x+1.25)/2.5) , so we'll get
G(x,y,z) = F(x-2.5*floor((x+1.25)/2.5), y, z) = ( ((x-2.5*floor((x+1.25)/2.5))^20+y^20)^0.05-1-cos(8*atan2(y,x-2.5*floor((x+1.25)/2.5)))/8 )^2 + 2*z^2 -0.04
let's now do the same for y: H(x,y,z) = G(x, y-2.5*floor((y+1.25)/2.5), z) = ( ((x-2.5*floor((x+1.25)/2.5))^20+(y-2.5*floor((y+1.25)/2.5))^20)^0.05-1-cos(8*atan2(y-2.5*floor((y+1.25)/2.5),x-2.5*floor((x+1.25)/2.5)))/8 )^2 + 2*z^2 -0.04
another example for F(x,y,z ) = (sqrt( x^2+y^2)-( 1-0.1*acos(cos(8*atan2(y,x) )) ) )^2+2*z^2-0.04
we have H(x,y,z) = (sqrt( (x-2*floor((x+1)/2))^2+(y-2*floor((y+1)/2))^2)-( 1-0.1*acos(cos(8*atan2((y-2*floor((y+1)/2)),(x-2*floor((x+1)/2))) )) ) )^2+2*z^2-0.04
 _________________ My YouTube channel
Last edited by abdelhamid belaid on Sun May 19, 2013 10:26 pm; edited 5 times in total |
|
Back to top |
|
 |
nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Sat Oct 29, 2011 2:17 pm Post subject: |
|
|
Hi Abdelhamid,
Theses paterns and your way of expending them in one and two axis directions are really awesome . Some objects (from Bathsheba) like the Quintrino
are made by expanding some simples paterns in three axis directions.
BTW, good work Abdelhamid and keep it up  _________________ Cheers,
Abderrahman |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Fri Nov 04, 2011 1:09 am Post subject: |
|
|
Hi all,
Thank you very much Taha , yes Taha the Quintrino is very beautiful, is it done by a math formula or just using certain programming language? ( expanding of a simple pattern in three axis directions ??), also Taha did you mean "in three axis directions" that it's a spherical shape? in fact we need only two axis (two tangential dimensions T1(x,y,z) and T2(x,y,z) ) to cover any surface, we can expand our pattern along theta direction and then phi ( atan2(y,x) and then atan2(z,sqrt(x^2+y^2)) for example) but we'll get shrinkage at two poles of the sphere and that is unwanted I think, it is not enough we need something more different, I think the best patterned sphere is if we look at it from several angles we would see the same shape like the Quintrino we are seeing the same view from 12 different angles, I meant we have similarity over all the sphere surface, here are two examples :
as seen, we have six identical faces over the second sphere, so the issue is different for spherical shapes, how would I get more than 6 identical faces, what's the fastest algorithm I should take, we must find or create new dimensions completely different than atan2(y,x) and atan2(z,sqrt(x^2+y^2)) I mean certain functions T1 and T2 of the form f( atan2(y,x) , atan2(z,y) , atan2(x,z) , ..., sqrt(x^2+y^2) , sqrt(x^2+z^2) , sqrt(y^2+z^2) , sqrt(x^2+y^2+z^2) , ...). _________________ My YouTube channel
Last edited by abdelhamid belaid on Sun May 19, 2013 11:10 pm; edited 1 time in total |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Thu Nov 17, 2011 8:07 pm Post subject: |
|
|
Also these are some spheres , isn't like making cake mathematics?
 _________________ My YouTube channel |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Thu Nov 24, 2011 9:25 pm Post subject: |
|
|
Hello all,
a Small Stellated Dodecahedron with another sides, I always welcome your suggestions (patterns, designs, ...etc)
It has been too long I tried to do this:
 _________________ My YouTube channel
Last edited by abdelhamid belaid on Sun May 19, 2013 11:18 pm; edited 1 time in total |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Mon Dec 12, 2011 8:38 pm Post subject: |
|
|
Hello all,
It's just a new way to prove the formula of the helicoid
Code: | sin( n*z-atan2(y,x) ) = 0 or y*cos(n*z)-x*sin(n*z) = 0 |
Proof:
We have z = atan2(y,x)/n is a helicioid but only in the domain [-pi/n, pi/n] , to get repetition or infinity along the z axis let's add to the right side k*pi/n (using another dimension k in Z) so we write z= atan2(y,x)/n+k*pi/n , that means n*z-atan2(y,x)= k*pi and then sin( n*z-atan2(y,x) ) =0. _________________ My YouTube channel
Last edited by abdelhamid belaid on Sun May 19, 2013 11:20 pm; edited 3 times in total |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Mon Dec 26, 2011 10:17 am Post subject: |
|
|
Hi all,
a new way to prove the formula of the Helix
Code: | (sqrt(x^2+y^2)-a)^2+atan2(sqrt(x^2+y^2)*sin(atan2(y,x)+z),sqrt(x^2+y^2)*cos(atan2(y,x)+z))^2-R^2 =0
or as a reaction between two dimensions writing:
N^2+T^2-R^2=0 such that N = rho-a and T = atan2(sqrt(x^2+y^2)*sin(atan2(y,x)+z),sqrt(x^2+y^2)*cos(atan2(y,x)+z))
= atan2(sin(atan2(y,x)+z),cos(atan2(y,x)+z))
= atan2(y*cos(z)+x*sin(z),x*cos(z)-y*sin(z)) |
Proof:
we start of course from the Torus (sqrt(x^2+y^2)-a)^2+z^2-R^2=0 , we make displacement for its section, we write (sqrt(x^2+y^2)-a)^2+(z-atan2(y,x) )^2-R^2=0 (let's call that: finite Helix)
now we take the cylinder in which its section is the intersection between our finite Helix and the XY plane, of course we remove each z from our equation: (sqrt(x^2+y^2)-a)^2+(-atan2(y,x) )^2-R^2=0 or (sqrt(x^2+y^2)-a)^2+atan2(y,x)^2-R^2=0
now we rotate each section of the cylinder (section=(equation, z=constant) ) by the angle z, I mean substituting each atan2(y,x) in atan2(y,x)+z , to get that we must first show atan2(y,x) and sin and cos (2pi-periodic functions), so let's substitute x in sqrt(x^2+y^2)*cos(atan2(y,x)) and y in sqrt(x^2+y^2)*sin(atan2(y,x)) so we have: (sqrt(x^2+y^2)-a)^2+atan2(sqrt(x^2+y^2)*sin(atan2(y,x)),sqrt(x^2+y^2)*cos(atan2(y,x)))^2-R^2=0 , and at last:
(sqrt(x^2+y^2)-a)^2+atan2(sqrt(x^2+y^2)*sin(atan2(y,x)+z),sqrt(x^2+y^2)*cos(atan2(y,x)+z))^2-R^2=0.
generally we write:
(sqrt(x^2+y^2)-a)^2+(atan2(sqrt(x^2+y^2)*sin(atan2(y,x)+n*z),sqrt(x^2+y^2)*cos(atan2(y,x)+n*z))/n)^2-R^2=0 _________________ My YouTube channel
Last edited by abdelhamid belaid on Mon May 20, 2013 12:20 am; edited 4 times in total |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Wed Dec 28, 2011 9:47 am Post subject: |
|
|
Hi again,
I think this is the best and the most accurate formula for the Cube
Code: | max(max(abs(x),abs(y)),abs(y))-a =0
or in a mathematical writing: max(|x|,|y|,|z|)-a =0 |
Of course we can get more than a Cube writing:
Code: | max(|x|-a,|y|-b,|z|-c) =0 |
Or even so more than it (a parallelepiped):
Code: | max(|x+a1*x+b1*z+c1|-a,|y+a2*x+b2*z+c2|-b,|z+a3*x+b3*y+c3|-c) =0 |
 _________________ My YouTube channel |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Mon Mar 26, 2012 12:23 am Post subject: Making Cubes method ( you'll automatically get 6 sides ) |
|
|
Hello all,
I've just noticed a new method to make complex patterned cubes and many other shapes , in fact cube is very simple shape because we could notice its three characteristic dimensions ( the normal and two tangential ) easily as I did finally, we have:
N = max(max(abs(x),abs(y)),abs(z))-a
T1 = min(min(abs(x),abs(y)),abs(z))
T2 = min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)))
so if we had an isosurface F(x,y,z)=0 (one side or one wall like a patterned plane for example ) and want to get a cube where the other five sides are the same, we have but to write F(T1, T2, N) =0, let's see these examples:
1. here is F(x,y,z)= min(abs(x-floor(x+0.5)),abs(y-floor(y+0.5)))^2+z^2-0.04
so F(N, T1, T2)= min(abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )-floor(0.5+1*min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )/1) ), abs(min(min(abs(x),abs(y)),abs(z))-floor(0.5+1*min(min(abs(x),abs(y)),abs(z)))/1 ) )^2+(max(max(abs(x),abs(y)),abs(z))-3.4)^2-0.04
2.
Code: | ( abs(x-floor(x+0.5))*cos(pi/4)+abs(y-floor(y+0.5))*sin(pi/4)-sqrt(2)/4 )^2+z^2-0.01
[x]: -4 , 4
[y]: -4 , 4
[z]: -1 , 1
|
Code: | ( abs(min(min(abs(x),abs(y)),abs(z))-floor(min(min(abs(x),abs(y)),abs(z))+0.5))*cos(pi/4)+abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )-floor(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )+0.5))*sin(pi/4)-sqrt(2)/4 )^2+(max(max(abs(x),abs(y)),abs(z))-4.4)^2-0.01
[x]: -4.5 , 4.5
[y]: -4.5 , 4.5
[z]: -4.5 , 4.5
|
3.
Code: | min( abs(abs(x)-2)*cos(pi/4)+abs(abs(y)-2)*sin(pi/4)-0.4 , min(abs(abs(x)-2),abs(abs(y)-2)) )^2+z^2-0.0225
[x]: -4 , 4
[y]: -4 , 4
[z]: -1 , 1
|
Code: | min( abs(abs(min(min(abs(x),abs(y)),abs(z)))-2)*cos(pi/4)+abs(abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) ))-2)*sin(pi/4)-0.4 , min(abs(abs(min(min(abs(x),abs(y)),abs(z)))-2),abs(abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) ))-2)) )^2+(max(max(abs(x),abs(y)),abs(z))-3.4)^2-0.0225
[x]: -4 , 4
[y]: -4 , 4
[z]: -4 , 4
|
4.
Code: | z-4+sqrt(x^2+y^2)*4
[x]: -4 , 4
[y]: -4 , 4
[z]: -4 , 4 |
Code: | max(max(abs(x),abs(y)),abs(z))-4+sqrt(min(min(abs(x),abs(y)),abs(z))^2+min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )^2)*3
[x]: -4 , 4
[y]: -4 , 4
[z]: -4 , 4 |
5.
Code: | z-4+(abs(x)+abs(y))*3
[x]: -4 , 4
[y]: -4 , 4
[z]: -4 , 4 |
Code: | max(max(abs(x),abs(y)),abs(z))-4+(abs(min(min(abs(x),abs(y)),abs(z)))+abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )))*3
[x]: -4 , 4
[y]: -4 , 4
[z]: -4 , 4 |
6.
our previous pattern:
Code: | (sqrt( (x-2*floor((x+1)/2))^2+(y-2*floor((y+1)/2))^2)-( 1-0.1*acos(cos(8*atan2((y-2*floor((y+1)/2)),(x-2*floor((x+1)/2))) )) ) )^2+2*z^2-0.04 |
Code: | (sqrt( (min(min(abs(x),abs(y)),abs(z))-2*floor((min(min(abs(x),abs(y)),abs(z))+1)/2))^2+(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )-2*floor((min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )+1)/2))^2)-( 1-0.1*acos(cos(8*atan2((min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )-2*floor((min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) )+1)/2)),(min(min(abs(x),abs(y)),abs(z))-2*floor((min(min(abs(x),abs(y)),abs(z))+1)/2))) )) ) )^2+2*( max(max(abs(x),abs(y)),abs(z))-3.6 )^2-0.04
[x]: -3.8 , 3.8
[y]: -3.8 , 3.8
[z]: -3.8 , 3.8 |
now please, guess what's the formula for every one of these isosurfaces:
A:
B:
C:
D:
E:
 _________________ My YouTube channel
Last edited by abdelhamid belaid on Mon May 20, 2013 12:31 am; edited 1 time in total |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Fri Mar 30, 2012 3:12 pm Post subject: |
|
|
Hi,
I must add one important notice, my latest method for making cubes can give us good results only for those isosurfaces which have symmetries for the XZ and YZ planes ( these two equalities must be satisfied: F(-x,y,z)=F(x,y,z) and F(x,-y,z)=F(x,y,z) ), generally we need different writings for N, T1, T2 to make cubes starting from arbitrary isosurfaces, I've thought that I did short new writings but unfortunately that was not enough  _________________ My YouTube channel
Last edited by abdelhamid belaid on Mon May 20, 2013 12:35 am; edited 2 times in total |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Fri Mar 30, 2012 8:30 pm Post subject: |
|
|
Hi again,
enjoy it
Code: | min(abs(abs(min(min(abs(x),abs(y)),abs(z)))-2)*cos(pi/4)+abs(abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) ))-2)*sin(pi/4)-0.4,min(abs(abs(min(min(abs(x),abs(y)),abs(z)))-2),abs(abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) ))-2)))^2+max(max(min( sqrt((max(abs(x),abs(y))-3)^2+(abs(z)-3)^2)-1,min(abs(z)-3,max(abs(x),abs(y))-3)),abs(z)-4),max(min( sqrt((abs(x)-3)^2+(abs(y)-3)^2)-1,min(abs(x)-3,abs(y)-3) ),max(abs(x),abs(y))-4 ))^2-0.0225
[x]: -4.2 , 4.2
[y]: -4.2 , 4.2
[z]: -4.2 , 4.2 |
Code: | (min(abs(abs(min(min(abs(x),abs(y)),abs(z)))-2)*cos(pi/4)+abs(abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) ))-2)*sin(pi/4)-0.4,min(abs(abs(min(min(abs(x),abs(y)),abs(z)))-2),abs(abs(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)) ))-2)))-0.3)^2+max(max(min( sqrt((max(abs(x),abs(y))-3)^2+(abs(z)-3)^2)-0.7,min(abs(z)-3,max(abs(x),abs(y))-3)),abs(z)-3-0.7 ),max(min( sqrt((abs(x)-3)^2+(abs(y)-3)^2)-0.7,min(abs(x)-3,abs(y)-3)),max(abs(x),abs(y))-3.7))^2-0.0225
[x]: -4 , 4
[y]: -4 , 4
[z]: -4 , 4 |
_________________ My YouTube channel |
|
Back to top |
|
 |
abdelhamid belaid
Joined: 13 Aug 2009 Posts: 170
|
Posted: Sat Apr 07, 2012 7:08 pm Post subject: |
|
|
Hello,
we can also get three patterned cylinders union not only cubes
for example:
Code: | 2*(sqrt(x^2+y^2)-1.2)^2+(cos(8*atan2(y,x))/5+cos(3*z)/4 )^2-0.03
[x]: -1.35 , 1.35
[y]: -1.35 , 1.35
[z]: -4 , 4 |
Code: | 2*(sqrt(min(min(abs(x),abs(y)),abs(z))^2+min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z)))^2)-1.2)^2+(cos(8*atan2(min(min(max(abs(x),abs(y)),max(abs(x),abs(z))),max(abs(y),abs(z))), min(min(abs(x),abs(y)),abs(z))))/5+cos(3*max(max(abs(x),abs(y)),abs(z)))/4 )^2-0.03
[x]: -5 , 5
[y]: -5 , 5
[z]: -5 , 5 |
_________________ My YouTube channel |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
2005 Powered by phpBB © 2001, 2005 phpBB Group
|