How to transform a set of lines to a set of circles using möbius transformation?

조회 수: 15 (최근 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?

채택된 답변

William Rose
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
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 CenterFile Exchange에서 Geometric Transformation and Image Registration에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by