karipu Posted February 21, 2010 Share Posted February 21, 2010 I just discovered the Isosurface SOP, and I am especialy interrested in the "Implicit Function", easy and light way to make volumes. I looked around on the internet for different equations to add in that parameter and found some, like this one to make a torus : (1-.15*($X^2+$Y^2+$Z^2)^2) -(1-($X^2 + $Z^2))*10 But I still can't find the equation of a 3d spiral like they do with POV-ray. Maybe some of you know other function equations to use for the Isosurface, and especialy to use as spiral? Quote Link to comment Share on other sites More sharing options...
Macha Posted February 22, 2010 Share Posted February 22, 2010 Check out this: http://www1-c703.uibk.ac.at/mathematik/project/bildergalerie/gallery.html I think what you are looking for is a helicoid. Quote Link to comment Share on other sites More sharing options...
karipu Posted February 23, 2010 Author Share Posted February 23, 2010 Thanx a lot for this link of Algebraic Surfaces that works very well. But unfortunately, I still can't find any spiral shape or any kind of vortex non-symetrical shape. Quote Link to comment Share on other sites More sharing options...
lisux Posted February 23, 2010 Share Posted February 23, 2010 Check out this: http://www1-c703.uibk.ac.at/mathematik/project/bildergalerie/gallery.html Nice link Macha, thx! Quote Link to comment Share on other sites More sharing options...
Macha Posted February 24, 2010 Share Posted February 24, 2010 This took me a bit of working out but the following should give you a helicoid: $X*tan($Z/ch("c"))-$Y with "c" being an extra parameter. "c" is very sensitive to changes so I haven't been able to make a beautiful spiral yet but a value of 0.002 should get you started. Quote Link to comment Share on other sites More sharing options...
Macha Posted February 24, 2010 Share Posted February 24, 2010 Just re-reading your post there. Perhaps you just want to try the snoise and turb expression. Quote Link to comment Share on other sites More sharing options...
Emanuele Berti Posted February 24, 2010 Share Posted February 24, 2010 Marc, thanks for the link !!! Quote Link to comment Share on other sites More sharing options...
Marc Posted February 24, 2010 Share Posted February 24, 2010 I concur.... nice link . Quote Link to comment Share on other sites More sharing options...
karipu Posted February 24, 2010 Author Share Posted February 24, 2010 Thanx Macha for your equation. I used it with a sin and cos function, and it works pretty well : $X*cos($Y*ch("c"))+ $Z*sin($Y*ch("c")) We could even get an helix like a screw, combining this with a tube (with "r" as the tube radius, and "R" as the helix radius, or something like that): ($X*cos($Y*ch("c"))+ $Z*sin($Y*ch("c"))) * ch("r") - ($X^2 + $Z^2)-ch("R") But still, it is not exactly the spiral shape i was looking for, and I still can't find it (see attached picture) Quote Link to comment Share on other sites More sharing options...
Macha Posted February 25, 2010 Share Posted February 25, 2010 Haven't gotten the spiral yet but I thought this was cute. (($X^2 + $Y^2 - 1)^2 + $Z^2)*(($Y^2 + $Z^2 - 1)^2 + $X^2)*(($Z^2 + $X^2 - 1)^2 + $Y^2) - ch("ff")^2*(1 + ch("bb")*($X^2 + $Y^2 + $Z^2)) Quote Link to comment Share on other sites More sharing options...
Matt_K Posted February 25, 2010 Share Posted February 25, 2010 Great thread! Keep 'em coming! Matt. Quote Link to comment Share on other sites More sharing options...
Macha Posted February 25, 2010 Share Posted February 25, 2010 Sorry, I'm getting a bit carried away with this, , but I noticed that we can add and position new objects within the expression. Whereas the previous one was copy-stamped this one isn't. Once we have an object we can add a new one by multuplying it, and position it by offsetting the x,y,z, and scaling it by adding a float. Like so: ((2*($X+.5)^4 + 2*$Y^4 + 2*$Z^4 - 0.2)* (2*($X-.5)^4 + 2*$Y^4 + 2*$Z^4 - 0.2))* (2*(0.5-$X)^4 + 2*(1.1+$Y)^4 + 2*$Z^4 - 0.2)* (2*(0.5-$X)^4 + 2*($Y)^4 + 2*(1+$Z)^4 - 0.2)* (2*(0.6-$X)^6 + 2*(1.2+$Y)^6 + 2*(1.1+$Z)^6 - 0.02)* (2*(0.5+$X)^4 + 2*(1.1+$Y)^4 + 2*($Z)^4 - 0.2)* (2*(0.5+$X)^4 + 2*(1.1+$Y)^4 + 2*(1+$Z)^4 - 0.2)* (2*(0.5+$X)^2 + 2*($Y)^2 + 2*(1+$Z)^2 - 0.5)* (2*(0.35-$X)^2 + 2*(1-$Y)^2 + 2*(0.7+$Z)^2 - 0.5) It is conceivable that we could write a script that automates such things. Completely useless of course. Quote Link to comment Share on other sites More sharing options...
Macha Posted February 25, 2010 Share Posted February 25, 2010 (edited) It seems that the net is pretty much devoid of spirals like this. The reason, I believe, is that most of the equations generating such surfaces are algebraic equations, meaning they can only contain polynomials with integer exponents. So, functions like sin and cos are in the strict sense not allowed. However, that does not mean spirals are impossible. If you can use functions other than those made of polynomials (and Houdini can) then it is possible. It's just that there's not much of it around on the net. On the other hand, you can make a series expansion to the desired degree of precision. So, like this: ($X*(1-(1.5*$Z)^2/2+(1.5*$Z)^4/24-(1.5*$Z)^6/720+(1.5*$Z)^8/40320-(1.5*$Z)^10/3628800)+$Y*((1.5*$Z)-(1.5*$Z)^3/6+(1.5*$Z)^5/120-(1.5*$Z)^7/5040+(1.5*$Z)^9/362880-(1.5*$Z)^11/39916800))^2*($X^2+$Y^2-1)*($X^2+$Y^2-6)+16 Edited February 26, 2010 by Macha Quote Link to comment Share on other sites More sharing options...
dyei nightmare Posted February 26, 2010 Share Posted February 26, 2010 wonderfull thread, and experiments, could you put that complex equations in a file, to give an idea of the correct usage? Quote Link to comment Share on other sites More sharing options...
Macha Posted February 26, 2010 Share Posted February 26, 2010 wonderfull thread, and experiments, could you put that complex equations in a file, to give an idea of the correct usage? Copy-paste it into the isosurface sop. Sometimes you need to adjust the bounding values and up the res. Quote Link to comment Share on other sites More sharing options...
Macha Posted March 1, 2010 Share Posted March 1, 2010 This one generates a spiral. However, the crossections don't sweep properly with the curve (always parallel to one axis) (Apparently this is a hard mathematical problem to solve) pow($X-ch("r2")*sin(ch("o")*$Z),ch("n")) + pow($Y-ch("r2")*cos(ch("o")*$Z),ch("n"))- pow(ch("r1"),ch("n")) with n=2, r1= 0.2, r2 = 0.4 Quote Link to comment Share on other sites More sharing options...
Macha Posted March 1, 2010 Share Posted March 1, 2010 And here some pointless implicit isosurface equation madness! It consists of a helix, a sheared and twisted torus, and some other undefined stuff, as well as scaling, moving,union and intersect of those objects. min(min( (( ($X+ch("xoff"))^2 + (($X+ch("xoff")) + ((($Y-ch("zoff"))^2 + ($Z-ch("zoff"))^2)^0.5) * ch("s"))^2 + ($Z-ch("zoff"))^2 + (ch("r2")^2)-ch("r1")^2)^2 - (4*ch("r2")^2)*(($X+ch("xoff"))^2+(($X+ch("xoff")) + ((($Y-ch("zoff"))^2 + ($Z-ch("zoff"))^2)^0.5) * ch("s"))^2)),pow(($X)-ch("r2")*sin(ch("o")*$Z),ch("n")) + pow($Y-ch("r2")*cos(ch("o")*$Z),ch("n"))-pow(ch("r1"),ch("n")) ), (max(2- (cos(($X*ch("mx")) + ch("t")*($Y*ch("my"))) + cos(($X*ch("mx")) - ch("t")*($Y*ch("my"))) + cos(($Y*ch("my")) + ch("t")*($Z*ch("mz"))) + cos(($Y*ch("my")) - ch("t")*($Z*ch("mz"))) + cos(($Z*ch("mz")) - ch("t")*($X*ch("mx"))) + cos(($Z*ch("mz")) + ch("t")*($X*ch("mx")))),($X*ch("mx"))^2+($Y*ch("my"))^2+($Z*ch("mz"))^2-2))) Quote Link to comment Share on other sites More sharing options...
edward Posted March 2, 2010 Share Posted March 2, 2010 But I still can't find the equation of a 3d spiral like they do with POV-ray. Maybe some of you know other function equations to use for the Isosurface, and especialy to use as spiral? I don't know about you, but I don't see why one would want to use the Isosurface SOP to create spiral. If you want a volume, then just convert a regular spiral curve into one. From this page ( http://klatte.tripod.com/pov/helix.html ), it's not even using an implicit surface in POV-Ray. Quote Link to comment Share on other sites More sharing options...
rurik Posted March 9, 2010 Share Posted March 9, 2010 When I try to plug this into the isosurface node I get an error "bad parameter reference "ff"" and same thing for parameter "bb" What is causing that? Thanks Alex Sorry, I'm getting a bit carried away with this, , but I noticed that we can add and position new objects within the expression. Whereas the previous one was copy-stamped this one isn't. Once we have an object we can add a new one by multuplying it, and position it by offsetting the x,y,z, and scaling it by adding a float. Like so: ((2*($X+.5)^4 + 2*$Y^4 + 2*$Z^4 - 0.2)* (2*($X-.5)^4 + 2*$Y^4 + 2*$Z^4 - 0.2))* (2*(0.5-$X)^4 + 2*(1.1+$Y)^4 + 2*$Z^4 - 0.2)* (2*(0.5-$X)^4 + 2*($Y)^4 + 2*(1+$Z)^4 - 0.2)* (2*(0.6-$X)^6 + 2*(1.2+$Y)^6 + 2*(1.1+$Z)^6 - 0.02)* (2*(0.5+$X)^4 + 2*(1.1+$Y)^4 + 2*($Z)^4 - 0.2)* (2*(0.5+$X)^4 + 2*(1.1+$Y)^4 + 2*(1+$Z)^4 - 0.2)* (2*(0.5+$X)^2 + 2*($Y)^2 + 2*(1+$Z)^2 - 0.5)* (2*(0.35-$X)^2 + 2*(1-$Y)^2 + 2*(0.7+$Z)^2 - 0.5) It is conceivable that we could write a script that automates such things. Completely useless of course. Quote Link to comment Share on other sites More sharing options...
Macha Posted March 9, 2010 Share Posted March 9, 2010 Some of the expressions have extra parameters. You can either replace them by a float or you can go to the little gear icon and create your own parameters (called ff, and bb, etc). That way you can change values inside the expression by just using a slider. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.