Interpolation on sphere with curve fitting toolbox
15 views (last 30 days)
Show older comments
I'd like to know if it is possible to restirct the interpolation to the unit 3-sphere using curve fitting toolbox.
I have given points on
that represent a not necessarily closed curve that i want to interpolate.
% generate points
n = 10;
a = linspace(0,2*pi,n);
r = 0.5;
v1 = sin(r).*cos(a);
v2 = sin(r).*sin(a);
v3 = zeros(1,length(a));
v4 = ones(1,length(a)).*cos(r);
% vectors / points on S^3
vec = [v1;v2;v3;v4];
% interpolation
curve_s = csapi(a,vec);
vecnorm(fnval(curve_s,[0:0.1:2*pi]))
The problem is that not all vectors that are reconstructed have
.
Is there a way to restrict csapi that the reconstructed vectors have length 1 (are on the surface of the unit 3-sphere) ?
Thanks in advance
0 Comments
Accepted Answer
Matt J
on 30 Sep 2019
Edited: Matt J
on 30 Sep 2019
You could pre-convert the input to spherical coordinates CART2SPH and then convert back after the interpolation.
4 Comments
Matt J
on 1 Oct 2019
Similar to my original suggestion, you could convert your points to 4D spherical coordinates,
and simply do the spline fit on the
components.
More Answers (0)
See Also
Categories
Find more on Get Started with Curve Fitting Toolbox 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!