Some pictures of 3D representations by K3DSurf 0.62 Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
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

_________________

Last edited by abdelhamid belaid on Sun May 19, 2013 9:53 pm; edited 3 times in total
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 channelLast edited by abdelhamid belaid on Sun May 19, 2013 10:26 pm; edited 5 times in total
nextstep

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
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 channelLast edited by abdelhamid belaid on Sun May 19, 2013 11:10 pm; edited 1 time in total
abdelhamid belaid

Joined: 13 Aug 2009
Posts: 170

 Posted: Tue Nov 08, 2011 11:05 pm    Post subject: Hello all, These are some patterned spheres, I think I reached a solution (a short algorithm) on how to make properly distributed patterns over a sphere watch this please: http://www.youtube.com/watch?v=t1aEAL5vpO4 _________________My YouTube channel
abdelhamid belaid

Joined: 13 Aug 2009
Posts: 170

 Posted: Sat Nov 12, 2011 7:39 pm    Post subject: Hello, These also are spheres watch on YouTube: http://www.youtube.com/watch?v=A57CjQGkZkE http://www.youtube.com/watch?v=w6tiPCWDjWs_________________My YouTube channelLast edited by abdelhamid belaid on Sun May 19, 2013 11:11 pm; edited 2 times in total
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
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 channelLast edited by abdelhamid belaid on Sun May 19, 2013 11:18 pm; edited 1 time in total
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.
_________________

Last edited by abdelhamid belaid on Sun May 19, 2013 11:20 pm; edited 3 times in total
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
_________________

Last edited by abdelhamid belaid on Mon May 20, 2013 12:20 am; edited 4 times in total
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

_________________
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:

_________________

Last edited by abdelhamid belaid on Mon May 20, 2013 12:31 am; edited 1 time in total
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 channelLast edited by abdelhamid belaid on Mon May 20, 2013 12:35 am; edited 2 times in total
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

_________________
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

_________________
 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First
 All times are GMTGoto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next Page 6 of 8

 Jump to: Select a forum MathMod----------------MathMod Progress & featuresMathematical Models CollectionHow toBugsMathMod for WindowsMathMod for Linux/UnixMathMod For MACOSXMathMod TutorialsOther Mathematical ToolsOpen Discussion K3DSurf----------------K3DSurf Discuss/DiscussionsHow toK3DSurf math related questionsK3DSurf for WindowsK3DSurf for MacOSK3DSurf for LinuxOnline K3DSurf: J3DSurfNewsBugsOnline DocumentationAccount Activation Issue ?/ Problème d'activation de votre compte ?
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