当前位置:网站首页>Getting started with MATLAB 3D drawing command plot3
Getting started with MATLAB 3D drawing command plot3
2022-08-04 00:22:00 【Yang Laotou Soft Worker】
I. Introduction
Matlab software provides powerful visualization functions, which can draw both plane graphics and three-dimensional graphics.Drawing a three-dimensional curve graph or a scatter plot can be done using the command plot3.This article gives an introduction to using plot3 to draw three-dimensional curves (in fact, surfaces) or scatter plots.
2. Detailed description of the basic usage of plot3
Basic syntax: plot3(x, y, z, s )
where x, y and z are arrays of the same dimension, and (x, y) constitutes a three-dimensionalThe coordinate point of the surface graph on the definition domain, z is the vertical coordinate, it can be a function of (x, y), or it can only have a numerical relationship.
s are primitive attributes.
Its function is to draw the curve graph of the space surface according to the color given by the attribute s or the line element and the grid point (x, y, z) on the surface.
The primitive attributes s can be defaulted.When the default s is used, the three-dimensional curve graph is drawn with the color automatically specified by the system;
Example 1. The grid of the abscissa and the ordinate is known, and the spatial graph is drawn.
% Sample code (1) Drawing using the color given by the system
[x,y]=meshgrid(-2*pi:0.2:2*pi);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);;plot3( x, y, z );
%Running results
%Sample code (2): specify color
[x,y]=meshgrid(-2*pi:0.2:2*pi);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);plot3( x, y, z, 'r' )
%Running results
%Sample code (3): each line is assigned a color according to its own needs
[x,y]=meshgrid(-2*pi:0.2:2*pi);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);len = length( z );for i = 1 : lenplot3( x(:,i), y(:,i), z(:,i), 'color', [ i/(len), (i+len)/(3*len), (i+len))/(6*len) ])hold onend
%run result
Example 2: Drawing a spiral diagram (dotted line)
Reference code:
clear allclct = [ 0 : 0.02 : 10 ] * pi;r = 2;x = r * cos(t);y = r * sin(t);z = 0.5 * t;plot3( x, y, z, 'b--' )
%Running results
Example 3: Draw randomScatter Plot
Reference Code:
clear allclc[ x, y ] = meshgrid( 0 : 0.2 : 3 );z1 = randn( size(x) );plot3( x, y, z1, 'ro' )hold on[ x, y ] = meshgrid( 1 : 0.2 : 4 );z2 = randn( size(x) ) + 2;plot3( x, y, z2, '.', 'markersize', 20 )xlabel('x');ylabel('y');zlabel('z');grid on
Example 4: Draw the upper half-cone truncated unit sphereScatter plot of the resulting surface.
Reference code: (borrowed spherical coordinates)
clear allclcr=1;for phi = 0:pi/80:pi/4for theta = 0:pi/20:2*pix = r*sin(phi)*cos(theta);y = r*sin(phi)*sin(theta);z = r*cos(phi);% vertical coordinates on the spherezz = r*sin(phi);% vertical coordinates on the conical surfacecol1 = abs(x);col2 = abs(y);col3 = abs(z);plot3(x,y,z,'.','color',[col1,col2,col3]);% sphericalhold onplot3(x,y,zz,'r.')% conical surfaceendendaxis equalxlabel('x');ylabel('y');zlabel('z');
Run result:
边栏推荐
猜你喜欢
随机推荐
智能管理PoE交换机
Mvc, Mvp and Mvvm
C语言 函数递归
手撕Nacos源码,今日撕服务端源码
GeoAO:一种快速的环境光遮蔽方案
轻量级网络整理及其在Yolov5上的实现
pcl点云数据 转化为 Eigen::Map
YOLOv7改进之二十二:涨点神器——引入递归门控卷积(gnConv)
js函数防抖和函数节流及其使用场景
双目IMU标定kalibr
Install third-party packages via whl
【杂项】通过Excel为字符串产生条码
Nanoprobes Mono- Sulfo -NHS-Nanogold的使用和应用
利用matlab求解线性优化问题【基于matlab的动力学模型学习笔记_11】
研究生新生培训第四周:MobileNetV1, V2, V3
详谈RDMA技术原理和三种实现方式
After building the pytorch environment, the pip and conda commands cannot be used
Free自由协议系统开发
动态内存二
咱们500万条数据测试一下,如何合理使用索引加速?