Apollo Capsule 3D Model
Show older comments
Hi,
I am trying to model the Apollo Space capsule as a 3D shape in MATLAB but I am unsure of how to even begin doing so. If any one could possibly point me in the right direction, that would be very much appreciated. Many thanks in advance!
1 Comment
Cedric
on 16 Mar 2013
You could try to ask the person who started this thread: http://www.mathworks.com/matlabcentral/answers/59039-trouble-with-finding-appropriate-conditions-for-logic where he found his model.
Answers (1)
ChristianW
on 13 Mar 2013
doc patch
Depending on your model complexity, you could use 3D CAD software and save as *.stl. There's a function called rndread, converting stl to patch input.
7 Comments
Fredrick_jong
on 13 Mar 2013
ChristianW
on 13 Mar 2013
Edited: ChristianW
on 13 Mar 2013
I can't clearly assign your geometry data without a picture.
Here's a cone example:
n = 20;
[X,Y,Z] = pol2cart([linspace(0,2*pi,n) 0]',[ones(1,n) 0]',[zeros(1,n) 1]');
% plot3(X,Y,Z); axis equal
verts = [X,Y,Z];
faces = [1:n; 2:n+1; (n+1)*ones(1,n)]';
% faces(end+1,1:n) = 1:n; faces(faces==0) = NaN; % bottom surface
p = patch('Faces',faces,'Vertices',verts,'FaceColor','g'); axis equal
Fredrick_jong
on 15 Mar 2013
Fredrick_jong
on 15 Mar 2013
ChristianW
on 16 Mar 2013
Maybe this works for you:
p = [-0.000000219377116 0.000019037643653 ...
-0.000695680017162 0.013659012592243 ...
-0.150372230012195 0.815648271244546 ...
-0.696731668656325 ];
x = linspace(1.033625312069473, 23.633886177386074,20);
y = polyval(p,x); % plot(x,y,'r')
[X,Y,Z] = cylinder(y);
surf(Z,Y,X)
axis square, set(gca,'color',[1 1 1]*0.8), grid off
colormap([1 1 1])
Check plot(x,y). I made a fast approximation. You just need to fix y(x) to your exact profile.
resh
on 18 Mar 2013
Thank you. That looks very much like what I am expecting it to. I have a question. How did you approximate those values to get a shape as such? If you let me know the method that you used, then I could approximate the values for myself. Thanks once again.
ChristianW
on 18 Mar 2013
I made the shape with ginput and polyfit, but thats fast and dirty.
axes; disp('Define shape with 20 Mouseclicks or press Return.')
[x,y] = ginput(20);
plot(x,y,'.k'), hold on
p = polyfit(x,y,6);
X = linspace(0,1,100);
Y = polyval(p,X); % roots(p) for the Polynomial roots
plot(X,Y,'r'); axis([0 1 0 1])
As I said, you should use the exact profile form. That is like a big circle than a small circle, a straight line and a small circle. At each transition the gradients are the same.
Categories
Find more on Data Exploration 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!