Esophagus 3D Modelling Issue
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
Hello,
I am trying to build a 3D model of the esophagus (approximated to a cylinder), and I need to define the radius layer-by-layer. I have the data concerning the radius of every cross-section at some instants in time, but I do not know how can I create a dynamic 3D model. I took a look at the function cylinder and patch, but I did not manage to come up with anything.
Any help would be greatly appreciated.
10 Kommentare
Sara
am 9 Jul. 2014
What do you need? To define the points on the surface? To plot it nicely? What is your goal?
Vittorio
am 9 Jul. 2014
Sara
am 9 Jul. 2014
Try this and let us know what you think. the radius and its position x are invented, replace them with your data.
clc
clearvars
close all
radius = [1 1.1 1.2 1.3 1.4 1.5 1.4 1.4 1.1 0.8];
x = linspace(1,30,10);
n = 600;
xx = zeros(numel(x),n);
yy = zeros(numel(x),n);
for i = 1:numel(x)
[xx(i,:),yy(i,:)] = circle(x(i),0,radius(i),n);
end
surf(repmat(x',1,n),xx,yy)
function [xx,yy] = circle(x,y,r,n)
ang=linspace(0,2*pi,n);
xp=r*cos(ang);
yp=r*sin(ang);
xx = x+xp;
yy = y+yp;
Image Analyst
am 9 Jul. 2014
sara, post as an official Answer so you can get credit for it.
Vittorio
am 10 Jul. 2014
To interactively rotate the cylinder type "rotate3d on" after your call to surf.
doc rotate3d
Vittorio
am 10 Jul. 2014
Sara
am 10 Jul. 2014
Look into
rotate
Vittorio
am 11 Jul. 2014
Antworten (0)
Diese Frage ist geschlossen.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
