Borrar filtros
Borrar filtros

Reflect a triangle given a mirror line

15 visualizaciones (últimos 30 días)
DINESH RAMACHANDRAN
DINESH RAMACHANDRAN el 19 de Ag. de 2014
Comentada: DINESH RAMACHANDRAN el 19 de Ag. de 2014
please help me to write the program for the above mentioned question.
  2 comentarios
David Sanchez
David Sanchez el 19 de Ag. de 2014
How is the triangle given, by three point or three lines?
DINESH RAMACHANDRAN
DINESH RAMACHANDRAN el 19 de Ag. de 2014
its three point triangle....

Iniciar sesión para comentar.

Respuesta aceptada

David Sanchez
David Sanchez el 19 de Ag. de 2014
Create a m-file with this function:
function S = symetric_P_about_line(P,m,n)
% line of symmetry: y = m*x + n;
Md = zeros(2,1); % Middle point between given point and its symmetric
Md(1) = (P(1) + m*P(2) - m*n)/(m^2 + 1);
Md(2) = m*Md(1) + n;
S = 2*Md - P; % symmetric point of P about given line
And this gives you the symmetric points of your triangle vertices about the symmetry line y=m*x+n:
% triangle (add your points)
A = [1 2];
B = [5 7];
C = [2 9];
M = [A; B; C]; % matrix to hold points
plot(M(:,1),M(:,2),'*')
% line of symmetry (add your m and n)
m = .5;
n = -1;
x = [-100 100];
y = m.*x+n;
hold on
plot(x,y)
hold off
As = symetric_P_about_line(A,m,n);
Bs = symetric_P_about_line(B,m,n);
Cs = symetric_P_about_line(C,m,n);
Ms = [As; Bs; Cs]; % matrix to hold symmetric points
hold on
plot(Ms(:,1),Ms(:,2),'r*')
hold off
axis([-10 20 -10 20])
axis square
  1 comentario
DINESH RAMACHANDRAN
DINESH RAMACHANDRAN el 19 de Ag. de 2014
sir, it shows the first statement as error, i.e. Input argument "P" is undefined.

Iniciar sesión para comentar.

Más respuestas (2)

Ahmet Cecen
Ahmet Cecen el 19 de Ag. de 2014
Look at householder reflectors on wikipedia. The function "flip" might also help.

Roger Stafford
Roger Stafford el 19 de Ag. de 2014
I suggest you look at John D'Errico's advice on this kind or problem at:
https://www.mathworks.com/matlabcentral/newsreader/view_thread/337038

Community Treasure Hunt

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

Start Hunting!

Translated by