Given:
A spline from concatenated bezier curves.
A point
Desired:
Finding the one bezier curve of the spline, that is closest to that point.
Solution:
Iteratively finding the closest point on each bezier curve and selecting the curve with the overall closest point.
Question:
Is there a simpler way to do this, if the exact point on the curve is not needed?
E.g. an operator to compare two bezier curves distances to the given point, from their controlpoints?
I don't need to know the distance to curve A,B,C ... I "only" need to order the curves by their relative distance. (--> find the closest curve, not the closest point.)
Thanks!
Bspline, distance to segment, simpler than distance to point on curve?
1.2k views Asked by J-S At
1
There are 1 answers
Related Questions in GEOMETRY
- WorldToScreen function
- Intersection of Cartesian Box and Polygon in 3D
- find point in inside polygon ..with mysql
- How do I find the line segments formed by the meeting of two sides of two polygons?
- How to create a pareto distribution prediction function?
- How to estimate the memory size of a binary voxelized geometry?
- Spacing out overlapping rectangles: how to translate pseudocode?
- Sympy manipulation of wedge products
- how to create a sector and check if some point is in it's area?
- Get third control point quadratic Bezier curve for parabola with given fucus and directrix, Lua
- CGSRegionRef: How is an arbitrary region represented as union of rects?
- Distribution of n number of equi-distant point in polygon
- Selecting suitable triangles to intersect with a line
- How to distribute n number of points into a svg polygon javascript
- How to offset a shaply polygon without chnaging corner shape
Related Questions in INTERPOLATION
- How can I apply scipy.interpolate.RBFInterpolator on an image / ndarray?
- Is there a way to affect the interpolation between translucent colours in WPF?
- Interpolating 3D volumetric data with scipy's RegularGridInterpolator
- Getting interpolation out of nested for loops in python
- Coefficient for pandas.series.interpolate
- Scipy 2D interpolation not accomodating every point
- `pandas` datetime - correct way to do linear interpolation
- Terra::interpolate problem with quantiles prediction (R)
- Is there any c++ function similar to smoothbivariatespline from scipy.interpolate
- Interpolation from reanimated doesn't work on scroll indicator from inside flatlist
- Interpolation raster to a given point in R but controlling the interpolation area of influence
- The interpolate method in pandas.DataFrame.interpolate() doesn't interpolate or extrapolate time-series data correctly
- Interpolate array along first axis with scipy
- Using SciPy ndimage.zoom on an array with nan values
- How to interpolate missing values given a SpatRaster object in R Terra package?
Related Questions in BSPLINE
- Maintaining "upvector" in a BSpline
- Avoid writing large number of column names in a model formula with bs() terms
- Defining BSpline in SciPy knowing its degree, control points, knots, and weights
- Understanding scipy b-spline base interval
- How to calculate the following Jacobian on Lie group SO(3)?
- How do I fix the bug in my b-spline implementation: The figure always has a point on 0,0 coordinate
- Is it possible to use splines and b-splines cooperatively?
- Is there a way to create a factor table for spline terms using GAMs in Python's h2o
- Interpolation along a BSpline
- Does python have an analogue to R's splines::ns()
- Use B Spline Function on Networkx Graph
- How to select control points for B-spline smoothing from a set of points?
- geomdl approximate_surface not working as expected
- How to find arc length / curve length reparameterization of b-spline curve?
- How can I add this external library in my C code?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
You can find the minimum distance and maximum distance between the point and the curve's bounding box. These two distances should be the lower bound and upper bound for the real distance between the point and the curve. So, you have
MinDist(P, Bbox(C1)) <= Dist(P,C1) <= MaxDist(P, Bbox(C1))
MinDist(P, Bbox(C2)) <= Dist(P,C2) <= MaxDist(P, Bbox(C2))
If you can also find that MaxDist(P, Bbox(C1)) < MinDist(P, Bbox(C2)) or MaxDist(P, Bbox(C2)) < MinDist(P, Bbox(C1)), then you can conclude which curve C1 or C2 is closer to point P. However, if you did not have these conditions, then finding out the lower/upper bounds will not help you and you will need to compute the real distance between the point and the curve.