Jump to content
  • Advertisement
Sign in to follow this  
Nene

Surfaces (explicit, implicit, parametric)

This topic is 4343 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I need this help for my degree project, fix the following points if they are wrong, please. There are three different methods to define an analytic surface: Explicit, implicit and parametric. 1. I understand that "implicit" and "parametric" can represent the same surface by two different equations, so they are the most generical representation of a surface. The difference is that parametric equations give you whether a point is inside, outside or on the surface. 2. Theorically a parametric surface can be of any topology, that is, we could represent overhangs and caves. Is it the same for the implicit surfaces??? 3. I understand that an "explicit" equation defines always a more constrained surface, called a 2,5D. I wish you can help me :) Thank yoU!

Share this post


Link to post
Share on other sites
Advertisement
My topology is a little shaky, so pick me up on anythng you think doesn't fit:

The three classifications you list aren't so much a partition of analytic surfaces, but nested subsets:

Any surface can be described parametrically. It's not always sensible, but it is always possible.
Many surfaces can (finitely) be expressed implicitly, but not all.
Any explicit surface representation can be trivially converted to an implicit one.

The 'explicit' surfaces are those for which a hyperplane exists from which the surface can be unambiguously unprojected. That is, no two points on the surface will project to the same point on the plane. This is a necessary and sufficient condition on explicit representation of a surface:
Given an implicitly-defined surface, if a hyperplane exists such that the above holds, then the said surface can be expressed explicitly, in some basis.

Suppose a general parametric 2D surface is defined
x = x(s)
y = y(s)

This surface can be expressed explicitly if either x(s) or y(s) is invertible. By the implicit function theorem, this is equivalent to x or y being continuously differentiable and strictly increasing/decreasing.
Of course, these conditions are not necessarily true, so not all parametric surfaces can be expressed explicitly (how profound [rolleyes]).

So all that's left is to decide when a parametric surface is in fact implicit:

I'd be tempted to assert that via the IFT and Taylor's theorem, an implicit representation of any well-behaved differentiable parametric curve can be constructed, appealing to however many degrees of freedom are necessary to make things work. However, I'm having a tough time convincing myself that it is true. I may get back to you on that one.

Regards
Admiral

Share this post


Link to post
Share on other sites
Quote:
Original post by TheAdmiral
Any surface can be described parametrically. It's not always sensible, but it is always possible.


What do you mean by "not always sensible"? It may be possible but it is not clear how to actually construct a parameterization.

Quote:

Many surfaces can (finitely) be expressed implicitly, but not all.


What do you mean by this? Given a surface in 3D, define the function D(x,y,z) to be the distance from (x,y,z) to the surface. The surface is defined implicitly by D(x,y,z) = 0.

Quote:

Suppose a general parametric 2D surface is defined
x = x(s)
y = y(s)

This surface can be expressed explicitly if either x(s) or y(s) is invertible.


These are not the equations for a general parametric surface. You should say x = x(s,t), y = y(s,t), and z = z(s,t), indicating that 2D parameters (s,t) are mapped to a surface point (x(s,t),y(s,t),z(s,t)).

Quote:

By the implicit function theorem, this is equivalent to x or y being continuously differentiable and strictly increasing/decreasing.
Of course, these conditions are not necessarily true, so not all parametric surfaces can be expressed explicitly (how profound [rolleyes]).


You have the implication in the wrong direction. To apply the implicit function theorem, there are certain hypotheses that you assume. It is not the other way around. Also, be careful with the conclusions you draw. The invertibility of the first-derivative matrix locally allows you to construct a surface *locally*, but it is not enough to guarantee global invertibility.

Share this post


Link to post
Share on other sites
Quote:
Original post by Nene
The difference is that parametric equations give you whether a point is inside, outside or on the surface.
Just the opposite, actually. Implicit equations tell you that.

Share this post


Link to post
Share on other sites
Quote:
Original post by Wasting Time
What do you mean by this? Given a surface in 3D, define the function D(x,y,z) to be the distance from (x,y,z) to the surface. The surface is defined implicitly by D(x,y,z) = 0.


Yes, or D(x,y,z) = some constant not necessarily zero. The classical isosurface. The challenge would then be to represent the function D throughout the spatial field. Sometimes, it can be represented analytically, for example, an axial source used to represent a cylinder, or a point source used to represent a sphere. Sometimes, in the real world, the distance function must be based on data, and this is where volume grids come in. Measure, or predict the function value at every point in a volume grid. Now, that filled in grid represents D(x,y,z) throughout the field. And you can use numerical methods to locate the surface (marching cubes or marching tetrahedrons).

Going the other way, converting an implicit surface to a parametric representation, is a challenge. Assuming a typical 2-parameter surface, (x,y,z) = S(u,v), you cannot represent a complex topology implicit surface by just one 2-parameter surface. For complex topologies, the representation of an implicit surface by a parametric surface would involve splitting the implicit surface into monotone pieces, when doing a surface fit, with trimming, to construct several parametric patches that approximate the implicit surface.

Share this post


Link to post
Share on other sites
Also, it is implicit surfaces that can easily have arbitrary topology, not parametric surfaces. You can represent arbitrary topology with parametrics, but the topology of parametric surfaces has to be explicitly built into the parameters. The parametric approach works very well for engineering applications, while the implicit approach works for medical applications, and analysis of natural flows.

Share this post


Link to post
Share on other sites
Not entirely on-topic:

Thanks for keeping me on my toes, Wasting Time, but I think the disagreement seeds more from misunderstanding than misinformation. Just to clear my name:

Quote:
Original post by Wasting Time
What do you mean by "not always sensible"? It may be possible but it is not clear how to actually construct a parameterization.

I just meant that it is not always useful to represent a surface parametrically when an explicit representation will do the trick. One could express a parabolic 1-surface by

x = s - 4
y = s²

when

y = x² - 8x + 16

would do just fine. Of course, there are situations where using a parameter is beneficial, but that was not the case in point.

Quote:
What do you mean by this? Given a surface in 3D, define the function D(x,y,z) to be the distance from (x,y,z) to the surface. The surface is defined implicitly by D(x,y,z) = 0.

Sure, but that's not the walk in the park you make it out to be. Creating such a D function for a not-so-well-behaved function wouldn't be too much fun. Though I concede that you're probably right in saying that expressing a surface implicitly is easier than expressing it parametrically.

Quote:
These are not the equations for a general parametric surface. You should say x = x(s,t), y = y(s,t), and z = z(s,t), indicating that 2D parameters (s,t) are mapped to a surface point (x(s,t),y(s,t),z(s,t)).

My bad: I said '2D surface', but I meant '1D surface in 2 dimensions'. I was just trying to keep the example simple.
If we're going to be entirely pedantic about it, the general equations for an m-dimensional parametric surface in n dimensions (n >= m) would be

x = F(s)

where x is n-dimensional, s m-dimensional and F an n-dimensional vector function of an m-dimensional variable. But let's not be silly [rolleyes].

Quote:
You have the implication in the wrong direction. To apply the implicit function theorem, there are certain hypotheses that you assume. It is not the other way around. Also, be careful with the conclusions you draw. The invertibility of the first-derivative matrix locally allows you to construct a surface *locally*, but it is not enough to guarantee global invertibility.

I see the misunderstanding, but I stand by my point. I'm still in one dimension, where the implicit function theorem is much cosier. In this case, the assumption is that of a strictly increasing, continuous function. Perhaps I would have been better off appealing to the inverse function theorem.

Regards
Admiral

Share this post


Link to post
Share on other sites
For information, though this thread doesn't really fall under the category of game development, I am leaving it open since it may help people understand some aspects of procedural geometry and implicit geometry, which are more and more useful for game development. There is good overlap.

Share this post


Link to post
Share on other sites
Could I represent a head with its eyes, mouth, ears,... with an analytic implicit surface f(x,y,z)=0?

Or do I need to divide the head in parametrical surface patches such as 3dsmax does?

(I already suppose we can use isosurfaces with voxels data alternatively)

Thanks

[Edited by - Nene on September 25, 2006 1:05:29 PM]

Share this post


Link to post
Share on other sites
I think it'd be hard to do that with analytic implicit surface. If you do it piecewise (different analytic implicit surfaces filling different blocks of the volume with common boundary conditions), then yes. Still not easy.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!