Apollo Capsule 3D Model
Afficher commentaires plus anciens
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 commentaire
Cedric
le 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.
Réponses (1)
ChristianW
le 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 commentaires
Fredrick_jong
le 13 Mar 2013
ChristianW
le 13 Mar 2013
Modifié(e) : ChristianW
le 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
le 15 Mar 2013
Fredrick_jong
le 15 Mar 2013
ChristianW
le 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
le 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
le 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.
Catégories
En savoir plus sur Data Exploration dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!