HOME | DD

MathMod — Dupling5

Published: 2015-09-15 11:23:42 +0000 UTC; Views: 156; Favourites: 0; Downloads: 1
Redirect to original
Related content
Comments: 1

MathMod [2015-09-15 11:28:37 +0000 UTC]

This example shows how to turn any simple implicit surface, here a "Duplin Cyclide", to a more complex one by given it some thickness and by filling it's interior with Schwarz-P patterns (or any other triply periodic surface). Later on, you can apply a combination of 3D transformations to your model (Twist and Scale transformations were used in this given example)
MathMod script:

{
"Iso3D": {
"Name": [
"PseudoDuplin"
],
"Component": [
"PseudoDuplin"
],
"Const": [
"cx=0.0000000000001",
"cy=0.0000000000001",
"cz=0.0000000000001"
],
"Description": [
"ThicknessGenerator-1.3 by Abderrahman Taha 12/09/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= (-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)"
],
"Xmax": [
"18"
],
"Xmin": [
"-16"
],
"Ymax": [
"8"
],
"Ymin": [
"-8"
],
"Zmax": [
"8"
],
"Zmin": [
"-8"
]
}
}

👍: 0 ⏩: 0