nextstep Site Admin
Joined: 06 Jan 2007 Posts: 539
|
Posted: Tue Aug 14, 2007 8:12 pm Post subject: How to make Isosurfaces with "tickness" ? |
|
|
Hi all,
I've already talked about my formulas for generating "tick" surfaces. However, it's possible to extend this formulas to generate much more interesting surfaces.
I'll start with some explanations on how to use it and will show some "extra" use of it
The formulas is described like this :
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]
Where : dF()/dx == partial derivative of F() to the variable x.
R = sqrt[(dF()/dx)^2 + (dF()/dy)^2 + (dF()/dz)^2]
T = Tickness value |
To apply this formula , you should be able to calculate the derivative form of your original isosurface. If you don't know how to do it, take a look on these pages :
http://en.wikipedia.org/wiki/Derivative
http://mathworld.wolfram.com/Derivative.html
Once you're familiar with this notation, it's only a matter of minutes to calculate the derivative formula.
The first extension of this formulas can be obtained by generating isosurfaces with more that two successive parts. For example, to have three surfaces , we have only to vary the parameter T and use this formulas :
Quote: | H[x, y, z] = F[x, y, z] * F[x - (T/R)*dF()/dx, y - (T/R)*dF()/dy, z - (T/R)*df()/dz]* F[x - (T/2*R)*dF()/dx, y - (T/2*R)*dF()/dy, z - (T/2*R)*df()/dz] |
when applied to the Schwartz formula, we obtain something like that :
Quote: |
Name: TickIso_3
F(): (cos(x) + cos(y) + cos(z))*
((cos(x + sin(x)/(2*sqrt(sin(x)^2 + sin(y)^2 + sin(z)^2))) +cos(y + sin(y)/(2*sqrt(sin(x)^2 + sin(y)^2 + sin(z)^2))) +cos(z + sin(z)/(2*sqrt(sin(x)^2 + sin(y)^2 + sin(z)^2)))))*
((cos(x + sin(x)/(4*sqrt(sin(x)^2 + sin(y)^2 + sin(z)^2))) +cos(y + sin(y)/(4*sqrt(sin(x)^2 + sin(y)^2 + sin(z)^2))) +cos(z + sin(z)/(4*sqrt(sin(x)^2 + sin(y)^2 + sin(z)^2)))))
[x]: -4 , 4
[y]: -4 , 4
[z]: -4 , 4
; |
If you're experiencing any problem with this, please use this thread to post your questions.
Also, another interesting extra use for soon _________________ Cheers,
Abderrahman |
|