Esophagus 3D Modelling Issue

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

Sara
Sara 2014년 7월 9일
What do you need? To define the points on the surface? To plot it nicely? What is your goal?
Vittorio
Vittorio 2014년 7월 9일
I would like to have a nice view of the 3D cylinder built using different radii for the layers composing it.
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
Image Analyst 2014년 7월 9일
sara, post as an official Answer so you can get credit for it.
Vittorio
Vittorio 2014년 7월 10일
Thanks for your answer! This is what I was looking for. Can you please tell me how can I rotate the cylinder to have it displayed vertically?
Ben11
Ben11 2014년 7월 10일
편집: Ben11 2014년 7월 10일
To interactively rotate the cylinder type "rotate3d on" after your call to surf.
doc rotate3d
Vittorio
Vittorio 2014년 7월 10일
Yes, I saw the button there to rotate it, but I would prefer the code to do it from the start, without doing it manually.
Look into
rotate
Vittorio
Vittorio 2014년 7월 11일
I managed to rotate it, thanks for the tip. Still, I need my structure to be symmetric, not shifted with respect to the various radii. What I have now is this:
Vittorio
Vittorio 2014년 7월 11일
편집: Vittorio 2014년 7월 11일
I searched on file exchange and I found this amazing .m file:
Thanks to all for the support and your answers!

답변 (0개)

이 질문은 마감되었습니다.

질문:

2014년 7월 9일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by