Splines VS Polys 2005-03-07 - By nicholas8681
Back
Now I'm not talking about the spline modeler, I'm talking about TRUE spline modeling. Ala. spatch, hamapatch, jpatch, animation master, etc.
Is one more efficient then the other. An interesting little articles from Martin of Hash, INC.:
"Hash patches have the tremendous advantage that they do not need to be aware of the patches that surround them. Each patch is a self-defined, high-order surface that can be manipulated without knowledge of its neighbors. The normal anywhere on a patch's surface can be determined analytically. This is very important for some of Animation:Master's character animation features, especially Muscle motion and Smartskin, but it is also important for any movement that distorts the spline mesh.
In contrast, polygon models are in reality made of many flat surfaces that only appear smooth because the normals where polygons abut are averaged together. Information must be maintained of where polygons join, called "vertex" and "edge" lists, and whether and how much normal averaging to do at each vertex. List maintenance requires a significant amount of preprocessing. Without normal averaging, every polygon would "crease" with every other polygon, however, people often positively compare a polygon model's simulated "smoothness" to a patch's true surface because a patch's high-order surface may not appear as "smooth" as the simple linear interpolation used by polygons.
The "porcelain.mat" material is a solution to achieve polygon-like "smoothness". One technique would be to divide the patch into a grid of polygons, then use traditional polygonal vertex and edge lists to determine averaged normals, but this would require burdening overhead. Instead, the cubic nature of the Hash patch technology offers a better, and more accurate alternative. Given four normals, a Hermite cubic can determine any normal along a line. Four Hermite cubics, combined via Coons interpolation, can determine a normal anywhere inside a rectangle. These are not the true normals of the underlying patch, and they often fail to adequately represent high-order shapes, but they do appear "smooth" in a polygon sense.
The initial 12-normals are indeed the "real" normals of the patch, so in theory, the patch is still independently definable. However, if two patches were modeled with a "crease" where they joined, it would still be there. Therefore, when porcelain.mat is applied, a computationally expensive preprocessing step is performed to determine possible creases by examining a patch's connectivity with other patches, and adjusting the normals accordingly. This masks patch modeling creases much like the creases where polygons join is masked.
Another option is also available when using porcelain.mat. Since a patch using porcelain knows its neighbors, it can blur normals with them depending on the "weight" setting of the porcelain material. A weight of "0" does no blurring, (however, porcelain normal interpolation is still used), while a weight of "100" will blur equally the current normal with the four normals two-thirds of a patch away, (a weight of "50" will average one-half the average of the four surrounding normals with the current normal.)"
The article is discussing a new feature that was implemented into Animation Master at the time. The question is, are splines better for modeling or are polys? I'm not talking about personal preference? I'm talking for computational purposes, ease of modeling, and intelligent modeling. Reading up on polys and splines, it seems that polys ARE a antique way of modeling because you are essentially creating a smooth figure by making a large amount of tightly night hard edges so that the object appears smooth but in reality isn't. While splines, are truly organic.
If this is the case, why hasn't spline modeling been more used and implemented, I know it is in many "highend" programs like lightwave, maya, etc. But it seems to rarely used, is it lack of knowledge of the features or just old habits die hard?
Just striking up a debate, and curious what others think.
Brian
Welcome Yahoo Members!
http://www.eovia.com Yahoo! Groups Links
<*> To visit your group on the web, go to: http://groups.yahoo.com/group/Carrara/
<*> To unsubscribe from this group, send an email to: Carrara-unsubscribe@(protected)
<*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
|
|