Scaling/Tr​ansposing/​Rotating surface object

1 view (last 30 days)
Yordan
Yordan on 12 Feb 2014
Answered: Fady Hanna on 20 Mar 2019
So i create a cylinder on a plane 100 100 100. I have a matrix I used before in class for scaling and plotting an object file but I can figure out how to apply it here. Here is the source
function kine()
close all;
addpath( genpath( '.' ) );
set( gca, 'XLim',[0 100], 'YLim',[0 100], 'ZLim',[0 100] );
set(gcf, 'Color', 'k' );
box on;
grid on;
whitebg(1,'w');
% Sample values
h = 30; % height
ra = 4; % radius
% Create constant vectors
tht = linspace(0,2*pi,20); z = linspace(0,h,20);
% Create cylinder
xa = repmat(ra*cos(tht),20,1); ya = repmat(ra*sin(tht),20,1);
za = repmat(z',1,20);
% To close the ends
X = [xa*0; flipud(xa); (xa(1,:))*0]; Y = [ya*0; flipud(ya); (ya(1,:))*0];
Z = [za; flipud(za); za(1,:)];
hold on;
% Draw cylinder
V = surf(X,Y,Z);
V = V';
V = [ V; ones( 1, size(V,2) ) ];
S = [ 0.5 0.0 0.0 0.0; ...
0.0 1.0 0.0 0.0; ...
0.0 0.0 1.0 0.0; ...
0.0 0.0 0.0 1.0];
V1 = S * V;
surf(V1(1,:),V1(2,:),V1(3,:));
hold on;
end
thank you
  1 Comment
Matt J
Matt J on 12 Feb 2014
In future, please highlight your code and apply the
formatting button, as I have just done for you now.

Sign in to comment.

Answers (1)

Fady Hanna
Fady Hanna on 20 Mar 2019
function kine()
close all;
addpath( genpath( '.' ) );
set( gca, 'XLim',[0 100], 'YLim',[0 100], 'ZLim',[0 100] );
set(gcf, 'Color', 'k' );
box on;
grid on;
whitebg(1,'w');
% Sample values
h = 30; % height
ra = 4; % radius
% Create constant vectors
tht = linspace(0,2*pi,20); z = linspace(0,h,20);
% Create cylinder
xa = repmat(ra*cos(tht),20,1); ya = repmat(ra*sin(tht),20,1);
za = repmat(z',1,20);
% To close the ends
X = [xa*0; flipud(xa); (xa(1,:))*0]; Y = [ya*0; flipud(ya); (ya(1,:))*0];
Z = [za; flipud(za); za(1,:)];
hold on;
% Draw cylinder
V = surf(X,Y,Z);
V = V';
V = [ V; ones( 1, size(V,2) ) ];
S = [ 0.5 0.0 0.0 0.0; ...
0.0 1.0 0.0 0.0; ...
0.0 0.0 1.0 0.0; ...
0.0 0.0 0.0 1.0];
V1 = S * V;
surf(peaks(100),'Parent',t)
hold on;
end
thank you

Categories

Find more on Discrete Data Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!