1

おそらくこれは基本的な質問ですが、特にこのようなものを見つけることができず、最善の方法でそれを行う方法を考えています.

2 組の点 (x1,y1,z1) と (x2,y2,z2) があり、それらを極座標に変換しました。半径が減少する反時計回りのらせんを作成して、2 番目の点に到達したいと思います。

また、何回転かかるかも明記したいと思います。

私が見た例はすべて、x 軸上の 2 つの点であり、時計回りに進んでいます。

どんな提案でも大歓迎です!

ありがとう。

4

1 に答える 1

0

このサンプル コードは、x 軸上にない p1 から p2 への反時計回りのらせんを生成し、回転数を指定できます。ただし、これは 2D であり、初期点はデカルト座標にあります。3D でそれを行う方法はわかりませんが、これがオフセットと反時計回りに役立つことを願っています。

%random 2d points
p1 = [3,5];
p2 = [1,4];

%radius of first point to second
r = norm(p1-p2);
%angle between two point wrt the y-axis
theta_offset = tan((p1(2)- p2(2))/(p1(1)-p2(1)));

rez = 150; % number of points 
rev = 5; % number of revolutions

t = linspace(0,r,rez); %radius as spiral decreases
theta = linspace(0,2*pi*rev,rez) + theta_offset; %angle as spiral decreases
x = cos(theta).*t+p2(1); 
y = sin(theta).*t+p2(2);
plot(x,y)

ここに画像の説明を入力

于 2016-07-25T20:12:45.910 に答える