MATLAB 画常见二次曲面汇总

article/2025/10/25 19:37:48

一、螺旋线

1.静态螺旋线

a=0:0.1:20*pi;
h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2);
axis([-50,50,-50,50,0,150]);
grid on
set(h,'erasemode','none','markersize',22);
xlabel('x
');ylabel('y');zlabel('z');
title('
静态螺旋线');

 

 

2.动态螺旋线

t=0:0.1:10*pi;

i=1;

h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');

grid on

axis([-2 2 -2 2 0 35])

for i=2:length(t)

    set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));

    drawnow

    pause(0.01)

end

title('动态螺旋线');

(图略)

 

3.圆柱螺旋线

t=0:0.1:10*pi;

x=r.*cos(t);

y=r.*sin(t);

z=t;

plot3(x,y,z,'h','linewidth',2);

grid on

axis('square')

xlabel('x');ylabel('y');zlabel('z');

title('圆柱螺旋线')

 

二、旋转抛物面

b=0:0.2:2*pi;

[X,Y]=meshgrid(-6:0.1:6);

Z=(X.^2+Y.^2)./4;

meshc(X,Y,Z);

axis('square')

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('旋转抛物面')

或直接用:ezsurfc('(X.^2+Y.^2)./4')  

 

三、椭圆柱面

load clown

ezsurf('(2*cos(u))','4*sin(u)','v',[0,2*pi,0,2*pi])

view(-105,40)              %视角处理

shading interp            %灯光处理

colormap(map)          %颜色处理

grid on                        %添加网格线

axis equal                  %使x,y轴比例一致

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('椭圆柱面')          %添加标题

四、椭圆抛物面

b=0:0.2:2*pi;

[X,Y]=meshgrid(-6:0.1:6);

Z=X.^2./9+Y.^2./4;

meshc(X,Y,Z);

axis('square')

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('椭圆抛物面')

或直接用:ezsurfc('X.^2./9+Y.^2./4')

 

b=0:0.2:2*pi;

[X,Y]=meshgrid(-500:1:500);

Z=X.^2./9+Y.^2./4;

meshc(X,Y,Z);

axis('square')

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('椭圆抛物面')

五、双叶双曲面

ezsurf('8*tan(u)*cos(v)','8.*tan(u)*sin(v)','2.*sec(u)',[-pi./2,3*pi./2,0,2*pi])

axis equal

grid on

axis square

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('双叶双曲面')

六、双曲柱面

load clown

ezsurf('2*sec(u)','2*tan(u)','v',[-pi/2,pi/2,-3*pi,3*pi])

hold on              %在原来的图上继续作图

ezsurf('2*sec(u)','2*tan(u)','v',[pi/2,3*pi/2,-3*pi,3*pi])

colormap(map)

shading interp

view(-15,30)

axis equal

grid on

axis equal

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('双曲柱面')

七、双曲抛物面(马鞍面)

[X,Y]=meshgrid(-7:0.1:7);

Z=X.^2./8-Y.^2./6;

meshc(X,Y,Z);

view(85,20)

axis('square')

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('双曲抛物面')

或直接用:ezsurfc('X.^2./8-Y.^2./6')

 

八、抛物柱面

[X,Y]=meshgrid(-7:0.1:7);

Z=Y.^2./8;

h=mesh(Z);

rotate(h,[1 0 1],180)                %旋转处理

%axis([-8,8,-8,8,-2,6]);

axis('square')

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('抛物柱面')

或直接用:ezsurfc('Y.^2./8')

  

 

九、环面

ezmesh('(5+2*cos(u))*cos(v)','(5+2*cos(u))*sin(v)','2*sin(u)',[0,2*pi,0,2*pi])

axis equal

grid on

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('环面')

十、椭球

ezsurfc('(5*cos(u))*sin(v)','(3*sin(u))*sin(v)','4*cos(v)',[0,2*pi,0,2*pi])

axis equal

grid on

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('椭球')

十一、单叶双曲面

ezsurf('4*sec(u)*cos(v)','2.*sec(u)*sin(v)','3.*tan(u)',[-pi./2,pi./2,0,2*pi])

axis equal

grid on

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('单叶双曲面')

十二、旋转单叶双曲面

load clown

ezsurf('8*sec(u)*cos(v)','8.*sec(u)*sin(v)','2.*tan(u)',[-pi./2,pi./2,0,2*pi])

colormap(map)

view(-175,30)

%alpha(.2)                   %透明处理

axis equal

grid on

axis square

xlabel('x');ylabel('y');zlabel('z');

shading flat;

title('旋转单叶双曲面')

 

十三、圆柱面

subplot(1,2,1)

ezsurf('(2*cos(u))','2*sin(u)','v',[0,2*pi,0,2*pi])

grid on

shading interp

axis equal

xlabel('x');ylabel('y');zlabel('z');

title('圆柱面')

subplot(1,2,2)

cylinder(30)

shading interp

axis square

title('调用cylinder函数所得圆柱面')

 

十四、二次锥面

clc,clear;
P=[1,0,0;
    0,cos(45*pi/180),sin(45*pi/180);
    0,-sin(45*pi/180),cos(45*pi/180)];
for k2 = 1:31
    for k1 = 1:31
        x(k1,k2) = (k2-1)*cos ( (k1-1)*12*pi/180);
        y(k1,k2) = (k2-1)*sin ( (k1-1)*12*pi/180);
        z(k1,k2) = sqrt(x(k1,k2)^2+y(k1,k2)^2);
        Vxyz = P*[x(k1,k2),y(k1,k2),z(k1,k2)]';
        x1(k1,k2)=Vxyz(1);
        y1(k1,k2)=Vxyz(2);
        z1(k1,k2)=Vxyz(3);
    end
end
surf(x,y,z)
hold on;

surf(x1,y1,z1);

shading flat;

 

 


http://chatgpt.dhexx.cn/article/oSrwhD8c.shtml

相关文章

MATLAB-二次曲面

柱面:圆柱面;椭圆柱面;双曲柱面;抛物柱面 锥面:圆锥面;椭圆锥面 锥球面;球面 椭圆抛物面; 单叶双曲面;双叶双曲面 双曲抛物面; 旋转抛物面,…

二次曲面标准方程和分类记忆方法

二次曲面标准方程和分类记忆方法 一类曲面-球面:圆球面,椭球面 1、球面 球面方程最简单。 描述:中心在(x0,y0,z0),半径是r的所有点(x, y, z)的集合 令x00;y00;z00;得到中心在坐标原点的球面 …

解析几何 曲线与二次曲面 二次曲面的分类(2.3)

一.二次曲面 二.二次曲面的旋转不变量 三.特征方程和特征根 1.特征根(特征值)与主方向(特征方向,特征向量): 2.不同直角坐标系下的主方向: 3.二次曲面的标准形式: 引理1:非零实对称矩阵 D D D的特征根全是实数 引理2:非零实对称矩阵 D D D的3个特征根至少有…

几何-九种二次曲面类型

(一)椭圆锥面 (1)把z平方看成一个一直变大的常数,那么可以看出延z方向,是一个一直变大的椭圆。 (2)把一个x或y赋予0,显然是一个两条关于原点对称的直线。 由上即可判断…

常见曲面及其方程

目录 (1)柱面①抛物柱面【z x^2^】②圆柱面【x^2^ y^2^ 1】③椭圆柱面【x^2^/a^2^ y^2^/b^2^ 1】④双曲柱面【x^2^/a^2^ - y^2^/b^2^ 1】 (2)旋转曲面①锥面【x^2^/a^2^ y^2^/b^2^ z^2^/c^2^】②圆锥面【a^2^(x^2^ y^2^)…

OIM同步OID(OID-Connector 9.0.4.12)

一、OIM与OID同步。 1.安装文件及需要的包。 OID-Connector 9.0.4.12.rar:OID连接器9.0版本。 jndi-1_2_1.zip:jndi包。(貌似可以不要) ldap-1_2_4.zip:ldap包。 2.准备工作。 1)解压ldap-1_2_4.zip,从解压…

对OIM Web(UI)层进行压力测试

Oracle IDM中的默认配置保留20个专用于服务前端(UI)请求的线程 。 从根本上讲,这意味着应用程序服务器具有20个线程池,可用于为通过Web控制台(/ identity或/ sysadmin)访问OIM的用户提供服务。 对于Weblog…

java仿qq思路_java仿QQ聊天软件OIM艰辛之路(开源项目)

既然QQ能仿ICQ, 咱java也来个仿QQ. 在我刚学完java后,就想做点什么项目锻炼下自己的技能。凑巧的是,我一个同样学java的朋友在做一个仿qq的项目,不过他做的实在太丑了。 然后他想让我也一块做这个,我心想,像qq这么高难…

Patching OIM 11.1.1.5.0 to 11.1.1.5.3

本指南也可以应用到OIM11.1.1.5.1或11.1.1.5.2。 获取修补程序您将需要以下补丁: 1. Patch Name: 13106312Product: Oracle SOA PlatformRelease: 11.1.1.5.0 2. Patch Name: 13704894Product: Oracle Identity ManagerRelease: 11.1.1.5.0 Initial SetupCreate a director…

使用OIM的Design Console配置

1、运行安装oim的文件(我的是Oracle_IDM1/bin里面的config.sh),选择如下 next 第一个为主机名(电脑名) next...finish 2、启动designconsole 在Oracle_IDM2里面找到wlfullclient.jar拷贝到Oracle_IDM1/designconsole/ext里面。 运…

给oim_对OIM Web(UI)层进行压力测试

给oim Oracle IDM中的默认配置保留20个专用于服务前端(UI)请求的线程 。 这基本上意味着应用程序服务器具有20个线程池,可用于为通过Web控制台(/ identity或/ sysadmin)访问OIM的用户提供服务。 对于Weblogic &#x…

如何OIM 11.1.1.5.0打补丁到11.1.1.5.2

将OIM11.1.1.5.0安装好之后,如需要打补丁到11.1.1.5.2,则按照如下的步骤: 下载两个patch,一个是SOA的,一个是OIM的。Oracle官方文档说如果想要给OIM打补丁的话就需要先把SOA先升级。 官方文档的地址:https://updates.oracle.com/Orion/Services/download?type=readme&…

基于 JavaFX 开发的聊天客户端 OIM-即时通讯

OIM 详细介绍 一、简介 OIM是一套即时通讯的聊天系统,在这里献给大家,一方面希望能够帮助对即时通讯有兴趣研究的朋友,希望我们能够共同进步,另一个就是希望能够帮助到需要即时通讯系统的朋友或者企业,可以直接使用或者…

java仿QQ聊天软件OIM艰辛之路

既然QQ能仿ICQ, 咱java也来个仿QQ.在我刚学完java后,就想做点什么项目锻炼下自己的技能。凑巧的是,我一个同样学java的朋友在做一个仿qq的项目,不过他做的实在太丑了。 然后他想让我也一块做这个,我心想,像qq这么高难…

oim-server-web打包测试环境不起作用问题 vue+typeScript

本人对前端只有个略懂 当我使用npm run test测试 alert(process.env.NODE_ENV)结果是正常能返回出 当我使用npm run build --test打包部署服务器后 返回的结果是 2021 04 25 暂时未找到解决方法 所以先冒着被同事孤立的风险用以下解决方法 修改前 class Config {private …

基于 JavaFX 开发的聊天客户端 OIM-即时通讯

OIM 详细介绍 一、简介 OIM是一套即时通讯的聊天系统,在这里献给大家,一方面希望能够帮助对即时通讯有兴趣研究的朋友,希望我们能够共同进步,另一个就是希望能够帮助到需要即时通讯系统的朋友或者企业,可以直接使用或…

electron-builder打包linux桌面程序(OIM-E多平台即时通讯软件)

1、OIM-E 开源主页 主页链接 2、打包Linux 开始踩了几个坑,我图简单因此尝试在windows打包linux包。结果就是不行,梯子啥的都挂了,结果无效。报如下错误: ⨯ Get https://service.electron.build/find-build-agent?no-cache1…

oim failed_对OIM Web(UI)层进行压力测试

oim failed Oracle IDM中的默认配置保留20个专用于服务前端(UI)请求的线程。 从根本上讲,这意味着应用程序服务器具有20个线程池,可用于为通过Web控制台(/ identity或/ sysadmin)访问OIM的用户提供服务。 对于Weblogic ,这是它的配置方式&…

oim(类QQ)开源项目源码阅读笔记(1)——登录部分

oim项目是码云上相当优秀的开源项目,项目完整,有客户端,服务器端web端,项目地址:https://gitee.com/oimchat 因为最近打算使用javafx写个客户端,所以看了一下该项目基于java的pc客户端源码,客户端项目如下…

聊聊开源聊天软件oim-fx

最近忽然要开发聊天软件,上网百度学习了一下。先是找到一些socket编程的文章。后来,在博客园找到这篇文章,得到一些启示:《超赞的8款开源聊天软件》 https://blog.csdn.net/huaairen/article/details/89006927 今天有点时间&…