-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question about usage #55
Comments
I would be happy to produce new examples showing whatever hints you can give here, particularly for the second part of this question. |
I discussed this on open feature issue #53. Inigo Quillez's youtube is a master class in all the ways you can use SDFs and mapping. |
Should I look for a place to add a reference to this video into the documentation under a separate issue? |
I don't think that Inigo's video (which was on how to paint photorealistic images using simple pseudo random numbers) really applies to my question about how approximate values of distance to the surface will affect the accuracy of the simulation. Here is an example of what I am talking about. The red line is my surface. It is defined as a vertical offset from the heavy black line. It is very convenient to approximate the distance from a point p using the vertical distance to the spine minus the height of the surface above that line. But the result is longer than the actual shortest distance which runs at an angle from the vertical. How much error does this convenience cause in the simulation? |
I answered that part in the other issue i referenced.
…On Sat, May 13, 2023, 02:09 Ted Dunning ***@***.***> wrote:
I don't think that Inigo's video (which was on how to paint photorealistic
images using simple pseudo random numbers) really applies to my question
about how approximate values of distance to the surface will affect the
accuracy of the simulation.
Here is an example of what I am talking about. The red line is my surface.
It is defined as a vertical offset from the heavy black line. It is very
convenient to approximate the distance from a point *p* using the
vertical distance to the spine minus the height of the surface above that
line. But the result is longer than the actual shortest distance which runs
at an angle from the vertical.
How much error does this convenience cause in the simulation?
[image: image]
<https://user-images.githubusercontent.com/250490/238100703-15d34e6a-c992-4b72-8c46-2005489ff8cf.png>
—
Reply to this email directly, view it on GitHub
<#55 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADSKJ4FQICZPNNOJAHBAKDXF3GJ7ANCNFSM6AAAAAAX75RPDA>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
You can try to plot the resulting distance function and see if there are unphysical effects (0 thickness, for example). Depending on the refinement of your mesh, this might be an issue or not. But surely the geometry you would be simulating will be different from the target one, and the effects will be related to the mesh refinement. |
I understand pretty much how to define a body using just the distance function. Makes a lot of sense. I have two major questions, however.
First, what is the impact of small errors in this function as long as the distance at the surface of the body is zero and the errors are relatively small? For instance, if I have an elliptical body and calculate distance to the surface using the distance to a surface point on a line between the point in question and the center of the ellipse, I will give a distance that is a bit longer than the actual shortest distance. What would be the effect of that? The same thing happens in the simulation of the swimming fish. If I define the fish body as the distance to the nearest point on the spine less the orthogonal thickness at that point, I will give a slightly higher distance than is geometrically correct.
Second, can I use the map function in a body to project a circle to a wing section and then just compute the distance in the projected space?
The text was updated successfully, but these errors were encountered: