フレネル楕円と2点(x1、y1)と(x2、y2)の間の線を描画しようとしています。さらに私はatan2を使って楕円を回転しようとしています。 最初に、描かれた赤い軸が楕円の想像上の長軸と同じでない理由を理解できません。彼らは角度と長さが異なっています。 第2に、回転を使って楕円を描くための正しい式を使用しているかどうかはわかりません。私はあなたのコード内で回転して楕円を作る際に何の問題が表示されていない描画(フレネル)楕円と長軸
f=217.25;
Ht=45;
Hr=2.5;
figure (10);
x1=0;
x2=2.415512976422468e+04;
y1=2.609242854399548e+02+Ht;% Ht is trasmitter antenna height
y2=40.819199999995895+Hr;% Hr is receiver antenna height
% plot line of sight (major axis of ellipse)
hold on,plot([x1 x2],[y1 y2],'r')
% Plot 1st Fresnel zone - ELLIPSE
fr=f*1e6;% f in Hz
c=2.997925e8;% speed of light in m/s
lambda=c/fr; % wavelength in meters
a = 1/2*sqrt((x2-x1)^2+(y2-y1)^2); %majoraxis/2
r = sqrt(lambda*a/2);% b=r %secondaxis/2
t = linspace(0,2*pi,300);
X = a*cos(t);
Y = r*sin(t);
w = atan2(y2-y1,x2-x1); %angle of two points
x = (x1+x2)/2 + X*cos(w) - Y*sin(w);
y = (y1+y2)/2 + X*sin(w) + Y*cos(w);
hold on, plot(x,y,'-k')
grid on
私は、軸が等しい – kosar