Interpolating a three point curve at any angle using cubic splines
6 ビュー (過去 30 日間)
古いコメントを表示
I'm trying to interpolate a curve using cubic splines and three points in the x-y plane. I have some troubles finding the equation for the middle point such that the normal vectors in point P0 is always perpendicular to the x-axis, given any angle between the yellow line and the x-axis. See figure

P0 is always known, P1 is given by:
P_1 = [r1*cos(beta); r1*sin(beta)], where r1 is the the length of the yellow line and beta is the angle between the yellow line and the x-axis. In the image above I have experimentally found the equations for P2, which is:
P2 = [0.75*P1_x; 0.25*P1_y]. But this only works if beta is 45 degrees. I've tried to reverse engineer it but I failed miserably. How would I go about finding the equations for P2?
Best regards MC
2 件のコメント
Jan
2017 年 10 月 17 日
Start with defining the problem exactly: What are the given inputs? What are the conditions for the output? How does the wanted output look like?
回答 (1 件)
John D'Errico
2017 年 10 月 17 日
編集済み: John D'Errico
2017 年 10 月 17 日
Simple. Work in polar coordinates, centered around the location (0,0.4).
Now you will fit a curve for radius (thus distance from the point (0,0,4)), as a function of polar angle theta.
I don't have your points, so I cannot show you how to solve the problem better than that. As I said, simple, even trivial.
参考
カテゴリ
Help Center および File Exchange で Splines についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!