"Thickness generator" script

 
Post new topic   Reply to topic    K3DSurf forum Forum Index -> Mathematical Models Collection
View previous topic :: View next topic  
Author Message
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Tue Aug 25, 2015 3:54 pm    Post subject: "Thickness generator" script Reply with quote

Here it is, the "Thickness generator" script version 1.0 for MathMod-3.1 and above!
This script is an implementation of the formula I made some time ago, to generate thickness for implicit surface:
Code:
G[x, y, z] = F[x, y, z] * F[x - (T/R)*dF()/dx, y - (T/R)*dF()/dy, z - (T/R)*df()/dz]
R = sqrt[(dF()/dx)^2 + (dF()/dy)^2 + (dF()/dz)^2]
T = Thickness value

The "Thickness Generator " script requirements are the implicit definition of the original surface and it's definition domain. The thickness value can be defined not only as a constant (image 2 and 3) but also as a function evaluated over R^3: This can lead to very interesting new mathematical objects exploration.
The attached script is a modified version of the "Thickness generator" script in order to generate the object "PrettyBall", shown in the first attached image.
The second image show a fractal like result obtained by using a "gyroidal mixture" to fill the space of a thick gyroide ball...
MathMod script:
Code:

{
"Iso3D": {
"Description": ["TicknessGenerator-1.0 by Abderrahman Taha 24/08/2015"],
"Name": [
"TicknessGenerator"
],
"Component": [
"PrettyBall_1",
"PrettyBall_2",
"PrettyBall_3"
],
"Const": [
"cx=0.0000000000001",
"cy=0.0000000000001",
"cz=0.0000000000001",
"xmax=8",
"xmin=-8",
"ymax=8",
"ymin=-8",
"zmax=8",
"zmin=-8"
],
"Funct": [
"Iso=cos(x)*sin(y)+cos(y)*sin(z)+cos(z)*sin(x)",
"Tickness=(.9)",
"Tickness2=(.4)",
"DFx=((Iso(x,y,z,t)-Iso(x+cx,y,z,t))/cx)",
"DFy=((Iso(x,y,z,t)-Iso(x,y+cy,z,t))/cy)",
"DFz=((Iso(x,y,z,t)-Iso(x,y,z+cz,t))/cz)",
"Rapport=(sqrt(DFx(x,y,z,t)*DFx(x,y,z,t)+
DFy(x,y,z,t)*DFy(x,y,z,t)+DFz(x,y,z,t)*DFz(x,y,z,t)))",
"Iso3=(Iso(x-DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso2=(Iso(x+DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y+
DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z+
DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso4=(Iso(x-DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso5=(Iso(x+DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y+
DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z+
DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
"TickIso2=(Iso4(x,y,z,t)*Iso5(x,y,z,t))",
"isoCondition=(x*x + y*y + z*z - 64)"
],
"Fxyz": [
"if(isoCondition(x,y,z,t)<0, TickIso2(x,y,z,t),1) + exp(isoCondition(x,y,z,t)/3)",
"if(isoCondition(x,y,z,t)<0, Iso3(x,y,z,t),1) + exp(isoCondition(x,y,z,t)/3)",
"if(isoCondition(x,y,z,t)<0,-Iso2(x,y,z,t),1) + exp(isoCondition(x,y,z,t)/3)"
],
"Xmax": [
"8",
"8",
"8"
],
"Xmin": [
"-8",
"-8",
"-8"
],
"Ymax": [
"8",
"8",
"8"
],
"Ymin": [
"-8",
"-8",
"-8"
],
"Zmax": [
"8",
"8",
"8"
],
"Zmin": [
"-8",
"-8",
"-8"
]
}
}

ball11 by taha_ab, on Flickr

b4 by taha_ab, on Flickr

cylinder by taha_ab, on Flickr

gyroid2 by taha_ab, on Flickr

ball10 by taha_ab, on Flickr
_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
denisc



Joined: 24 Apr 2013
Posts: 92

PostPosted: Mon Aug 31, 2015 10:50 am    Post subject: Reply with quote

Thanks very much.

A little question,

to obtain 3 separate objets, in the export obj

i can remplace , by : ?
Back to top View user's profile Send private message Send e-mail
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Mon Aug 31, 2015 7:40 pm    Post subject: Reply with quote

Hi,
The PrettyBall object is already formed by three separate objects.
I you want to export each one in a separate .obj file, the best way to do it is by erasing two components each time from the script, generate the last remaming object and then export as .obj file.
To erase two components from the script, you can use the button "Cut" in the "Model details" tabulation. This button erase the current component from the script and all it's dependencies so you don't have to deal with the script which can be confusing especially for big ones...
Hope this can help!
_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Mon Aug 31, 2015 7:54 pm    Post subject: Reply with quote

Hi all,
In this second version of the "Thickness generator" script, we explore ways of applying some transformations (scaling, stretching and bending) to a given mathematical object.
We start with a cylinder filled with Gyroidal structure (third image), The first image shows the result of bending the cylinder to form a torus. The second image is the result of applying an helicoidal transformation to the cylinder.
The attached script is for the first image.
PS: When bending the cylinder to form the Torus, the Gyroidal structure at both extreme sides of the Y axis doesn't seem quite right as the remaining of the Torus...is there a way to eliminate this behavior, I mean, a better bending transformation than the : (x,y,z)--> (sqrt(x^2+y^2) - r2, y, z) ?
MathMod script:
Code:
{
"Iso3D": {
"Name": [
"TicknessGenerator"
],
"Component": [
"GyroidalTorus"
],
"Const": [
"cx=0.0000000000001",
"cy=0.0000000000001",
"cz=0.0000000000001"
],
"Description": [
"TicknessGenerator-1.1 by Abderrahman Taha 29/08/2015"
],
"Funct": [
"Iso=cos(x)*sin(y)+cos(y)*sin(z)+cos(z)*sin(x)",
"Tickness=(.9)",
"Tickness2=(.4)",
"DFx=((Iso(x,y,z,t)-Iso(x+cx,y,z,t))/cx)",
"DFy=((Iso(x,y,z,t)-Iso(x,y+cy,z,t))/cy)",
"DFz=((Iso(x,y,z,t)-Iso(x,y,z+cz,t))/cz)",
"Rapport=(sqrt(DFx(x,y,z,t)*DFx(x,y,z,t)+DFy(x,y,z,t)*DFy(x,y,z,t)+DFz(x,y,z,t)*DFz(x,y,z,t)))",
"Iso3=(Iso(x-DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso2=(Iso(x+DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y+DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z+DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso4=(Iso(x-DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso5=(Iso(x+DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y+DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z+DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
"TickIso2=(Iso4(x,y,z,t)*Iso5(x,y,z,t))",
"isoCondition=(x^2+z^2-16)",
"isoTransform_1=if(isoCondition(x,y,z,t)<0,TickIso2(x,y,z,t),1)+exp(isoCondition(x,y,z,t)/3)",
"isoTransform_2=if(isoCondition(x,y,z,t)<0,Iso3(x,y,z,t),1)+exp(isoCondition(x,y,z,t)/3)",
"isoTransform_3=if(isoCondition(x,y,z,t)<0,-Iso2(x,y,z,t),1)+exp(isoCondition(x,y,z,t)/3)"
],
"Fxyz": [
"isoTransform_1((sqrt(x*x+y*y)-10),y,z,t)"
],
"Xmax": [
"14"
],
"Xmin": [
"-14"
],
"Ymax": [
"14"
],
"Ymin": [
"-14"
],
"Zmax": [
"4"
],
"Zmin": [
"-4"
]
}
}


ring3 by taha_ab, on Flickr

helice2 by taha_ab, on Flickr

cylinder7 by taha_ab, on Flickr
_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
denisc



Joined: 24 Apr 2013
Posts: 92

PostPosted: Mon Aug 31, 2015 8:05 pm    Post subject: Reply with quote

hello



i did that , before post my question.


I was thinking to your examples in k3dsurf chain and chain2.

Perhaps this formula is a little special for that ?


Or you are not implant the fonction, because , in math mod there is just

chain 2 example ?


ps; this new way to write script is very interresting !
Back to top View user's profile Send private message Send e-mail
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Mon Aug 31, 2015 8:46 pm    Post subject: Reply with quote

Hi,
In K3DSurf the chain example with ":" can be converted to MathMod script by using multiples components separated by ",".
The MathMod way of visualizing many components is however more powerful than what you can find in K3DSurf because in MathMod, each component can have it's own definition domain, grid resolution or colors where in K3DSurf this is not possible.
Technically you can make K3DSurf visualize the PrettyBall object but you have to deal with many partial derivative functions. Also the result will not show up as good as with MathMod (limited grid resolution, unique coloring...)
Remember, K3DSurf is very good for showing unique mathematical object . MathMod is all about showing and managing multiples models in the same "scene"
_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
denisc



Joined: 24 Apr 2013
Posts: 92

PostPosted: Mon Aug 31, 2015 9:09 pm    Post subject: Reply with quote

hello

Sorry to make the disturb in your new topic,


but, if i try to

((sqrt(x*x+y*y)-3)^2+z*z-0.4)*((sqrt((x-4.5)*(x-4.5)+z*z)-3)^2+y*y-0.4)*((sqrt((x+4.5)*(x+4.5)+z*z)-3)^2+y*y-0.4)*((sqrt((y+4.5)*(y+4.5)+z*z)-3)^2+x*x-0.4)*((sqrt((y-4.5)*(y-4.5)+z*z)-3)^2+x*x-0.4)*((sqrt(x*x+y*y)-5)^2+z*z-0.4)

change by

((sqrt(x*x+y*y)-3)^2+z*z-0.4),((sqrt((x-4.5)*(x-4.5)+z*z)-3)^2+y*y-0.4),((sqrt((x+4.5)*(x+4.5)+z*z)-3)^2+y*y-0.4),((sqrt((y+4.5)*(y+4.5)+z*z)-3)^2+x*x-0.4),((sqrt((y-4.5)*(y-4.5)+z*z)-3)^2+x*x-0.4),((sqrt(x*x+y*y)-5)^2+z*z-0.4)


in mathmod 3.1, i am a error message

error at position 29 ,((sqrt((x-4.5)*


and the second probleme is the import of obj in wings3D don't work , with

models make with mathmod .


( wait a little , i post new exemples, in my last post with old and new pictures, somes with formula)

cheers

ps: yes i understand, with your new explations that

MathMod is all about showing and managing multiples models in the same "scene"

it is a question of time , but of course, it's a better way .
Back to top View user's profile Send private message Send e-mail
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Tue Sep 01, 2015 2:22 am    Post subject: Reply with quote

Hi,
Here it is the MathMod script for the chain example.
This script is not , however, the best one you can write for MathMod...why?
One way to make it more interesting is to change the domain definition of each components because every torus can be defined independently of the others: This will increase the resolution of your model without having to increase the grid. This is very useful thing because , for example, you can make interesting real time animation at low grid resolution



Code:
{
    "Iso3D": {
        "Component": [
            "Chain_01",
            "Chain_02",
            "Chain_03",
            "Chain_04",
            "Chain_05",
            "Chain_06"
        ],
        "Fxyz": [
            "((sqrt(x*x+y*y)-3)^2+z*z-0.4)",
            "((sqrt((x-4.5)*(x-4.5)+z*z)-3)^2+y*y-0.4)",
            "((sqrt((x+4.5)*(x+4.5)+z*z)-3)^2+y*y-0.4)",
            "((sqrt((y+4.5)*(y+4.5)+z*z)-3)^2+x*x-0.4)",
            "((sqrt((y-4.5)*(y-4.5)+z*z)-3)^2+x*x-0.4)",
            "((sqrt(x*x+y*y)-5)^2+z*z-0.4)"
        ],
        "Name": [
            "Chain"
        ],
        "Xmax": [
            "8.2",
            "8.2",
            "8.2",
            "8.2",
            "8.2",
            "8.2"
        ],
        "Xmin": [
            "-8.2",
            "-8.2",
            "-8.2",
            "-8.2",
            "-8.2",
            "-8.2"
        ],
        "Ymax": [
            "8.2",
            "8.2",
            "8.2",
            "8.2",
            "8.2",
            "8.2"
        ],
        "Ymin": [
            "-8.2",
            "-8.2",
            "-8.2",
            "-8.2",
            "-8.2",
            "-8.2"
        ],
        "Zmax": [
            "4",
            "4",
            "4",
            "4",
            "4",
            "4"
        ],
        "Zmin": [
            "-4",
            "-4",
            "-4",
            "-4",
            "-4",
            "-4"
        ]
    }
}

_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
denisc



Joined: 24 Apr 2013
Posts: 92

PostPosted: Wed Sep 02, 2015 6:35 am    Post subject: Reply with quote

Thanks .

That work, but the little problem is:

It's equal result when you export your model to obj.

You have no separate objets or group objets, on your 3D prog after?

(I test with hexagon and 3Dwing) ?


cheers
Back to top View user's profile Send private message Send e-mail
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Sun Sep 06, 2015 1:11 am    Post subject: Reply with quote

Hi all,
This is a twisted cube filled with the Schwarz-P structure.
The third image is the result of bending the cube to form a Torus...but still don't know what to do with the strange behavior at the extreme positions along the y axis! (the Schwarz-P structure seems to stretch more than it should be)
Working on it! Smile
MathMod script:
Code:
{
"Iso3D": {
"Component": [
"SchwarzCubeTorus"
],
"Const": [
"cx=0.0000000000001",
"cy=0.0000000000001",
"cz=0.0000000000001"
],
"Description": [
"TicknessGenerator-1.2 by Abderrahman Taha 02/09/2015"
],
"Funct": [
"Iso=cos(x)+cos(y)+cos(z)",
"Tickness=(.9)",
"Tickness2=(.4)",
"DFx=((Iso(x,y,z,t)-Iso(x+cx,y,z,t))/cx)",
"DFy=((Iso(x,y,z,t)-Iso(x,y+cy,z,t))/cy)",
"DFz=((Iso(x,y,z,t)-Iso(x,y,z+cz,t))/cz)",
"Rapport=(sqrt(DFx(x,y,z,t)*DFx(x,y,z,t)+DFy(x,y,z,t)*DFy(x,y,z,t)+DFz(x,y,z,t)*DFz(x,y,z,t)))",
"Iso3=(Iso(x-DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso2=(Iso(x+DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y+DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z+DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso4=(Iso(x-DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
"Iso5=(Iso(x+DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y+DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z+DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
"TickIso2=(Iso4(x,y,z,t)*Iso5(x,y,z,t))",
"isoCondition=(x^20+(y/4)^20+z^20-3.4^20)",
"isoTransform_2=if(isoCondition(x,y,z,t)<0,TickIso2(3*x,3*y,3*z,t),1)",
"isoTransform_3=isoTransform_2(x*cos(pi*y/32)-z*sin(pi*y/32),y,x*sin(pi*y/32)+z*cos(pi*y/32),t)"
],
"Fxyz": [
"isoTransform_3(sqrt(x*x+y*y) - 10, y, z, t)"
],
"Name": [
"TicknessGenerator"
],
"Xmax": [
"16"
],
"Xmin": [
"-16"
],
"Ymax": [
"16"
],
"Ymin": [
"-16"
],
"Zmax": [
"5"
],
"Zmin": [
"-5"
]
}
}






PS: @denisc
I didn't understand what you looking for when exporting to .obj file
_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
denisc



Joined: 24 Apr 2013
Posts: 92

PostPosted: Mon Sep 07, 2015 10:14 am    Post subject: Reply with quote

hi


it's not very important.


Lovely SchwarzCubeTorus !
Back to top View user's profile Send private message Send e-mail
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Sun Sep 13, 2015 5:52 am    Post subject: Reply with quote

Hi all,
Thanks Denisc Smile
Another variant from the "Thickness generator" script:
dupling5 by taha_ab, on Flickr

Code:
{
    "Iso3D": {
        "Component": [
            "PseudoDuplin"
        ],
        "Const": [
            "cx=0.0000000000001",
            "cy=0.0000000000001",
            "cz=0.0000000000001"
        ],
        "Description": [
            "Thickness Generator-1.3 by Abderrahman Taha 12/09/2015"
        ],
        "Funct": [
            "Iso=cos(x)+cos(y)+cos(z)",
            "Tickness=(.9)",
            "Tickness2=(.4)",
            "DFx=((Iso(x,y,z,t)-Iso(x+cx,y,z,t))/cx)",
            "DFy=((Iso(x,y,z,t)-Iso(x,y+cy,z,t))/cy)",
            "DFz=((Iso(x,y,z,t)-Iso(x,y,z+cz,t))/cz)",
            "Rapport=(sqrt(DFx(x,y,z,t)*DFx(x,y,z,t)+DFy(x,y,z,t)*DFy(x,y,z,t)+DFz(x,y,z,t)*DFz(x,y,z,t)))",
            "Iso3=(Iso(x-DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
            "Iso2=(Iso(x+DFx(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),y+DFy(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),z+DFz(x,y,z,t)*Tickness(x,y,z,t)/Rapport(x,y,z,t),t))",
            "Iso4=(Iso(x-DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y-DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z-DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
            "Iso5=(Iso(x+DFx(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),y+DFy(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),z+DFz(x,y,z,t)*Tickness2(x,y,z,t)/Rapport(x,y,z,t),t))",
            "TickIso2=(Iso4(x,y,z,t)*Iso5(x,y,z,t))",
            "isoCondition=(-51.11)*(x^4+y^4+z^4)-99.92*(x^2*y^2+x^2*z^2+y^2*z^2)+141.12*(x-1)*(x^2+y^2+z^2)+256*x*(x-2)+282.24*y^2+270",
            "isoTransform_2=if(isoCondition(x/4,y/4,z/4,t)>0,TickIso2(4*x,2*y,2*z,t),1)+0.05*exp((TickIso2(4*x,2*y,2*z,t)+isoCondition(x/4,y/4,z/4,t))/300)",
            "isoTransform_6=isoTransform_2(x,y*cos(.4944*(x))-z*sin(.4944*(x)),y*sin(.4944*(x))+z*cos(.4944*(x)),t)"
        ],
        "Fxyz": [
            "-isoTransform_6(x/2,y,z,t)"
        ],
        "Name": [
            "PseudoDuplin"
        ],
        "Xmax": [
            "18"
        ],
        "Xmin": [
            "-16"
        ],
        "Ymax": [
            "8"
        ],
        "Ymin": [
            "-8"
        ],
        "Zmax": [
            "8"
        ],
        "Zmin": [
            "-8"
        ]
    }
}

_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
denisc



Joined: 24 Apr 2013
Posts: 92

PostPosted: Mon Sep 14, 2015 9:22 am    Post subject: Reply with quote

hello

a little question

for

{
"Iso3D": {
"Description": ["TicknessGenerator-1.0 by Abderrahman Taha 24/08/2015"],
"Name": [
"TicknessGenerator"


it is possible, to have the same with K3dsurf ?

The same result , with one formula?


thanks
Back to top View user's profile Send private message Send e-mail
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Tue Sep 15, 2015 9:30 am    Post subject: Reply with quote

Hi,
Yes, but for K3DSurf, you have to replace all the functions definitions in the MathMod script by there meaning.
Another way to do it is to look for the implicit functions partial derivative to achieve similar result (see http://k3dsurf.s4.bizhat.com/viewtopic.php?t=2&postdays=0&postorder=asc&start=0)

Quote:
{
"Iso3D": {
"Name": [
"Gyroid"
],
"Component": [
"Gyroid"
],
"Fxyz": [
"(cos(x)*sin(y)+cos(y)*sin(z)+cos(z)*sin(x))*(cos(x-(-sin(x)*sin(y)+cos(x)*cos(z))/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(y-(-sin(y)*sin(z)+cos(y)*cos(x))/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))+cos(y-(-sin(y)*sin(z)+cos(y)*cos(x))/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(z-(-sin(z)*sin(x)+cos(z)*cos(y))/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))+cos(z-(-sin(z)*sin(x)+cos(z)*cos(y))/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(x-(-sin(x)*sin(y)+cos(x)*cos(z))/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2)))"
],
"Xmax": [
"10"
],
"Xmin": [
"-10"
],
"Ymax": [
"10"
],
"Ymin": [
"-10"
],
"Zmax": [
"10"
],
"Zmin": [
"-10"
]
}
}

_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 539

PostPosted: Tue Sep 15, 2015 11:53 am    Post subject: Reply with quote

Hi all,
Some interesting results...
Arena :
sherk7 by taha_ab, on Flickr
sherk12 by taha_ab, on Flickr
sherk9 by taha_ab, on Flickr

The Dome:
duplin1 by taha_ab, on Flickr
_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    K3DSurf forum Forum Index -> Mathematical Models Collection All times are GMT
Page 1 of 1

 
Jump to:  
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


Start Your Own Video Sharing Site

Free Web Hosting | Free Forum Hosting | FlashWebHost.com | Image Hosting | Photo Gallery | FreeMarriage.com

Powered by PhpBBweb.com, setup your forum now!
For Support, visit Forums.BizHat.com