簡體   English   中英

在matlab中繪制一個3d貝殼

[英]drawing a 3d seashell in matlab

我一直試圖在Matlab中繪制一個3d貝殼一段時間,但是我遇到了很多麻煩,因為我對Matlab很新。 這是我到目前為止試圖將參數和方程放在一起的代碼...

clear all

close all


%Seashell

%Parameters: 0 <= v <= 2*pi, 0 <= u <= 6*pi

%Equations: x = 2*(1 - e^(u/(6*pi)))*cos(u)*cos^2(0.5v)

%           y = 2*((-1) + e^(u/(6*pi)))*sin(u)*cos^2(0.5v)

%           z = 1 - e^(u/3pi) - sin(v)+ e^u/(6*pi))*sin(v)


for q= 1:1885

    u = 0:0.01:6*pi;

    V = 0:0.01:2*pi;

    for p=1:629

        v=V(:,p);

    end


            x = (2.*(1 - exp(u/(6.*pi))).*cos(u))'*((cos(0.5.*v)).^2);

            y = (2.*(-1 + exp(u/(6.*pi))).*sin(u))'*((cos(0.5.*v)).^2);

            z = 1 - exp(u/(3.*pi)) - sin(v)+ exp(u/(6.*pi)*sin(v));


end


           j=x';

        frog=y'; 

       sam(1,:)=j;

       sam(2,:)=frog;

       sam(3,:)=z;

       mesh(sam)



%z=z'

%test=[z,y,x];

%plot3(x,y,z);

%axis equal;

我遇到的問題是我不知道如何將方程式繪制在一起。 有人可以看看我的代碼,並給我一些指導/幫助,如何解決這個問題?

非常感謝提前, - 托馬斯

ezmesh('2.*(1 - exp(u/(6.*pi))).*cos(u)*cos(0.5.*v).^2',...
       '2.*(-1 + exp(u/(6.*pi))).*sin(u)*(cos(0.5.*v)).^2',...
       '1 - exp(u/(3.*pi)) - sin(v)+ exp(u/(6.*pi)*sin(v))',...
       [ 0, 6*pi, 0, 2*pi]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM