How to transform a set of lines to a set of circles using möbius transformation?
16 ビュー (過去 30 日間)
古いコメントを表示
I should write a code to transform a set of lines to a set of circles and here the pictures I have.I know I should use möbius transformation and I searched a lot but I don't understand what I should do.could anyone help?
0 件のコメント
採用された回答
William Rose
2023 年 1 月 12 日
編集済み: William Rose
2023 年 1 月 12 日
[edit: fix typos in my text; code is unchanged]
Your image does not include a scale or (more importantly) an indication of where the origin is. The lines in fig 1 and the circles in figure 2 represent sets of complex numbers. You can think of the lines as very large circles that pass thorugh the point at infinity. The Mobius transformation maps these "circles" in figure 1 to the circles in figure 2.
The general Mobius transform is
.
Notice that it appears that all three circles in fig.2 would intersect at a common point, if the circles were complete. Let's assume this common point is the origin. This point must map to infinity - the place where all three lines in fig.1 would "intersect". The general equation for f(z) will map z=0 (the origin) to the point at infinity, if a=d=0. Then we have
which simplifies to , up to a scaling factor. Let's try this:
z1=-ones(1,101)+i*[-5:.1:5];
z2=-2*ones(1,101)+i*[-5:.1:5];
z3=[-5:.1:5]+i*ones(1,101);
plot(z1,'-r.'); hold on; plot(z2,'-g.'); plot(z3,'-b.'); axis equal
Now transform the points:
fz1=1./z1; fz2=1./z2; fz3=1./z3;
Plot transformed points:
figure;
plot(fz1,'-r.'); hold on; plot(fz2,'-g.'); plot(fz3,'-b.');
axis equal
This looks like your figure 2. Note that the transform we used was f(z)=1/z, which corresponds to the Mobius transform, with a=d=0, and b=c=1.
1 件のコメント
Jonathan Yahir
2023 年 3 月 7 日
Is this a conformal transformation in general terms? I am comfused by the change of lines to circles
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Specifying Target for Graphics Output についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!