Find the type of curve from the two points and the normal at those points known?
4 views (last 30 days)
Show older comments
I have a .txt file that contains the location of points of a path that is wound on a pressure vessel and the normal at those points.
I want to find the equation of the curve that is being traced from the path points. I am stuck as to what approach i can use to find the equation of the curve.
Once I have the equation of the curve i have to discretize it to small parts and find the radius of the curve. I have another program that has a function which gives me an output based on the radius of the curve.
what would be ideal is I find the curve on a perpendicular plane to the surface at the two close points and find the equation of curve between those points. And I do it for all the successive points. will this approach work? I yes what would required to do that?
0 Comments
Accepted Answer
John D'Errico
on 5 Apr 2018
Sorry. You seem to have a vast disconnect between your hopes for what you want to get, and the mathematics for what you can achieve, thus your plans for how you will get there.
You apparently have a list of points along some completely general surface in 3 dimensions, and the normal vector to that surface at each point. From that, you want to create "THE" curve that passes between the points, doing so by breaking it into piecewise segments where all you think you need are a pair of points and the normal vector at that point.
So, lets start with the two point question. Between ANY two points in space, there are an infinite number of paths between them. The path might follow any number of wiggles, bumps, etc. The normal vectors? Insufficient information.
Think of it like this: at each point, you have a normal vector. A point and a normal vector together define a plane. But no more than that. So now you have plane A, and a point in that plane. And somehow you need to move smoothly from point a on plane A to point B on plane B at some arbitrary other angle. There are infinitely many ways to do so.
Ok, suppose you do come up with some way to travel between the two points, then you want the "equation" that describes that path. Sadly, almost all such paths that you will draw have no explicit equation. This is a common misconception, that you can always come up with an "equation" for anything. Any set of points have an equation behind them. Nope.
So the first thing is, you have actually simplified the problem too much in a sense, in that you want to solve this in a piecewise way. Doing so actually makes the problem more complex. You need to work with the entire curve, as a spline path in 3 dimensions. (I'm not saying this is really that easy either, but at least is it doable in theory.)
What can you do easily? Well, a simple solution is to use my interparc tool (it can be found on the file exchange for download). It can take a list of points that collectively follow some path in any number of dimensions, and connect them with a smooth curve. But it does not care in the least about normal vectors, nor can it be made to do so.
More Answers (0)
See Also
Categories
Find more on Smoothing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!