|
|
|
Tell us what you think of the site.
|
Autodesk Media & Entertainment User Community
|
Autodesk® 3ds Max®
|
|
Autodesk® Maya®
|
|
Autodesk® Softimage®
|
|
Autodesk® MotionBuilder®
|
|
Autodesk® Mudbox™
|
|
Autodesk® ImageModeler™
|
|
Autodesk® Sketchbook® Pro
|
|
Autodesk® Smoke on Mac®
|
|
Well thanks; I was not trying to be modest, just had a bad feeling about posting an .exe-file. Essentially I am just doing f(x)=cos(x)*katenoid+ sin(x)*helekoid (for all vertices of the hel/katenoid). Anyhow, as for now , I can’t just start getting more into rendering because I only have Maya in University right now (though at the end of the month I should have it on my own computer). Progress (if available) will be posted here.
@tony I browsed through your homepage, and I found your stuff very nice. Pretty funny, because I have also been thinking (and failing to get a program running) about an approximation of a sphere by n numbers of triangles. I have also studied a little on Iteration-theory on sets, with which one can pretty easy create objects like the Menger sponge, the Barnsley farn, Sierpinski triangles and so on. With running risk to annoy with math-stuff: The Menger sponge is the fix “point” of a contraction mapping on the room of compact sets of the Euklidean 3Dspace. Hence it is an exactly-selfsimilar object, meaning the whole menger sponge is exactly the same object as an upscaled version of say the lower left block of the Menger sponge. This is so because of a characteristic of the set of real numbers, namely the completeness.
|
|
|
|
I finally got my copy of Maya. I tried to write an MEL-script. But there is a little problem. Here follows a rough sketch of what I am doing:
create a plane:
polyPlane -w 5 -h 5 -sx 20 -sy 20 -ax 0 1 0 -tx 1 -ch 1;
select “vertex-mode”
hilite pPlane1;
select a specific vertex
select -r pPlane1.vtx[ j ]; //j is in {0,...,440}
move the vertex to a specific location:
move -r $xvalue $yvalue $zvalue;
The problem is that I want the “move” command to move the vertex relative from the origin (the point (0,0,0) in 3Dspace) and not from the place it had prior. Is there a command like “place/ set /...”?
Edit: I managed to solve the problem, by initilising the plane via “polyPlane -w 0.0001 -h 0.0001...” But I would still like to know if there is an alternative command.
|
|
|
move the vertex to a specific location:
move -r $xvalue $yvalue $zvalue;
Piece of cake. You already did the hard part. Just use the -a flag for move instead of the -r flag. -r makes a relative movement, -a makes an absolute movement, which ignores the current location and moves the vertex to exactly where you specify with the arguments.
-T
|
|
|
|
Thanks;I managed to build a catenoid and a helecoid and a version arbitrarily inbetween - but so far no animation; After some reading into blending etc. it should get done. Here is the helecoid:
int $n; //number vertices in each line $n=20; int $maij; //converts (i,j) from for-loops to vertex index float $izuu; //converts integer value to float value float $jzuv; //see above float $xhel; float $yhel; float $zhel; polyPlane -w 1 -h 1 -sx $n -sy $n -ax 0 1 0 -tx 1 -ch 1; rename pPlane1 helecoid; hilite helecoid;
for($j=0; $j<$n+1; ++$j)
{
for ($i=0; $i < $n+1; ++$i)
{
$izuu = $i*4.0/$n - 2.0; //width of object will not surpas sinh(2.0)=4.xx
$jzuv = $j*6.2832/$n; //goes from 0 to 2pi ensuring one rotation
$maij = $i + $j*$n + $j;
$xhel=sin($jzuv) *sinh($izuu);
$yhel=-cos($jzuv)*sinh($izuu);
$zhel=$jzuv;
select -r helecoid.vtx[$maij];
move -a $xhel $zhel $yhel;
}
};
|
|
|
|
As for animation, now add another loop that iterates through the frames you want in your animation range, (see the currentTime command) and set keys for each vertex at each intermediate position ( setKeyframe pPlaneShape1.vtx[0] , etc ). That way you get your shape at exactly the position you specify by your equations, and you don’t have to rely on linear blending which isn’t probably what you want in this case.
Also—you might have some thoughts on this topic—would a Menger sponge of infinite depth have a nonzero volume at all? Or would the spaces cut by each iteration eventually consume the whole structure? I can see how either would be true, but I can’t make a convincing argument to myself about how (or if) it would converge…
-T
|
|
|
|
I got it working - thanks very much for the helping tips. Now I will go through my Learning Maya Foundations copy to learn how I can make it look good and render the animation (and above all learn more about Maya) - I am toying with a metallic bumpmapped version and just planting some hair on the surfaces.
As for the Menger sponge; The answer to the question of convergence is yes (if you trust the axiomatic structure of mathematics). The proof is an application of the Banach-Fixpoint theorem which goes something like:
Let X be an complete metric space. Let f be an contraction (lipschitz-continuous with constant <1) from X to X. Than f has a unique fixpoint (there exists a unique x in X with f(x)=x).
The room X is here the room of all compact subsets of an arbitrary complete metric space Y. A new metric is defined to compare compact subsets “Hausdorff-Metric”. (Imagine the points of the room X to be subsets of 3d-space). The work here is to show that the room X is indeed complete.
Then you define a mapping f, which, under iteration, will produce the menger sponge. It is defined as follows:
1.) Start with a 3d picture of some compact set.
2.) make 20 copies of the picture
3.) scale the pictures down by factor 1/3
4.) place them in accordence like the Mengersponge picture would suggest.
This mapping is indeed a contracting mapping. (Mainly because it scales the pictures down). So the Banach-theorem states there is a fixed point. This fixed point is the Menger sponge.
In the proof of the Banach-theorem one can produce the fixed point via iteration of f. Quite interesting is the fact, that you end up with the menger sponge no matter if you start with a picture of marilyn manson or anything else in 3d-space.
As for the measurabilty of the Menger sponge: I dont know. It has to do with measure-theory, specifically hausdorff-measure/dimension, so if you integrate via Hasdorff-measure you will end up with sth. nonzero; but understanding hausdorff-measure is yet another story. I don’t know too much about it.
|
|
|
|
|
|