Solved

Compound matrix transformation [code attached]

Posted on 2008-10-09
3
691 Views
Last Modified: 2013-11-25
Hello Experts,

I have the following code which shows the rotation of a 2D polygon and what i want is to modify it using a compound matrix transformation so that the square rotates about an arbitrary point.

Can anyone help me how can i do such a thing ??

Thanks in advance
close all;
clear all;
 
 
% a 2D pologyon 
p=[-1 1 1 -1 -1 ; -1 -1 1 1 -1];
 
% points p = in homogeneous coord
p(3,:)=1;
 
% axes for plotting the animation
figure; 
hold on;
axis([-6 6 -6 6]);
axis equal;
 
for theta=0:0.005:2*pi
 
    R=[cos(theta) -sin(theta) 0 ; sin(theta) cos(theta) 0 ; 0 0 1];
    
    pdash=R*p; 
    
    pdash(1,:)=pdash(1,:)./pdash(3,:);
    pdash(2,:)=pdash(2,:)./pdash(3,:);
    
    cla;
    plot(pdash(1,:),pdash(2,:),'b');   
    drawnow;
    
end

Open in new window

0
Comment
Question by:perdoname_
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 22694376
0
 
LVL 4

Accepted Solution

by:
SyfAldeen earned 500 total points
ID: 22895982
perdoname_,
Here you are the modified code:
You can learn more here:
Transforming Objects - MATLAB

function rotsquare
close all;
clear all;
 
% a 2D pologyon
p=[-1 1 1 -1 -1 ; -1 -1 1 1 -1];
 
% points p in XY plane
p(3,:)=0;
 
% points p = in homogeneous coord
p(4,:)=1;
 
% axes for plotting the animation
figure;
hold on;
axis([-6 6 -6 6]);
axis equal;
 
%Rotate about the upper right corner (1,1)
Tx1 = makehgtform('translate',[-1 -1 0]);
Tx2 = makehgtform('translate',[ 1  1 0]);
 
for theta=0:0.005:2*pi
    R=makehgtform('zrotate',theta);
    pdash=Tx2*R*Tx1*p;
    cla;
    plot(pdash(1,:),pdash(2,:),'b');
    drawnow;
end

Open in new window

0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows Script Host (WSH) has been part of Windows since Windows NT4. Windows Script Host provides architecture for building dynamic scripts that consist of a core object model, scripting hosts, and scripting engines. The key components of Window…
Part One of the two-part Q&A series with MalwareTech.
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question