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
2014 年 7 月 9 日
What do you need? To define the points on the surface? To plot it nicely? What is your goal?
Vittorio
2014 年 7 月 9 日
Sara
2014 年 7 月 9 日
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
2014 年 7 月 9 日
sara, post as an official Answer so you can get credit for it.
Vittorio
2014 年 7 月 10 日
To interactively rotate the cylinder type "rotate3d on" after your call to surf.
doc rotate3d
Vittorio
2014 年 7 月 10 日
Sara
2014 年 7 月 10 日
Look into
rotate
Vittorio
2014 年 7 月 11 日
回答 (0 件)
この質問は閉じられています。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
