当前位置: 首页 > news >正文

深圳优化网站市场营销专业课程

深圳优化网站,市场营销专业课程,百度seo快速,设计模板用什么软件本期带来一个三维投影绘制函数(三视图绘制),函数支持三维曲线、曲面、三维多边形、参数方程曲线、参数方程曲面的投影绘制,以下先给出代码使用方式,文末给出工具函数完整代码: 使用方法 三维多边形投影及基本使用 通过介绍如何…

本期带来一个三维投影绘制函数(三视图绘制),函数支持三维曲线、曲面、三维多边形、参数方程曲线、参数方程曲面的投影绘制,以下先给出代码使用方式,文末给出工具函数完整代码:

使用方法

三维多边形投影及基本使用

通过介绍如何生成三维多边形投影介绍一下函数咋用,这里的三维多边形指的是使用patchfill3创建的图形,假设我们绘制了如下一个复杂多边形构成的球:

c = 1;
d = 2*c*(3*sqrt(2)+2)/7;
m = d*(3*sqrt(2)-4)/4;
l = m+d*(2-sqrt(2))/4; 
t = d*(2-sqrt(2))/4;
V = [c-l -t c; t -c+l c; -t -c+l c; -c+l -t c; -c+l t c; -t c-l c; t c-l c; c-l t c; c t c-l;...c -t c-l; c -c+l t; c -c+l -t; c -t -c+l; c t -c+l; c c-l -t; c c-l t; c-l c t; c-l c -t;...t c -c+l; -t c -c+l; -t c-l -c; t c-l -c; c-l t -c; -c+l t -c; -c+l c -t; -c c-l -t; -c t -c+l;...-c -t -c+l; -c+l -t -c; -t c c-l; t c c-l; -c+l c t; -c c-l t; -c t c-l; -c -t c-l; -c -c+l t;...-c+l -c t; -c+l -c -t; -c -c+l -t; -t -c -c+l; -t -c+l -c; t -c+l -c; t -c -c+l; c-l -c -t;...c-l -t -c; t -c c-l; -t -c c-l; c-l -c t];
F8 = [1 2 3 4 5 6 7 8; 17 18 19 20 25 32 30 31; 22 23 45 42 41 29 24 21;...37 38 40 43 44 48 46 47; 9 10 11 12 13 14 15 16; 26 27 28 39 36 35 34 33];
F6 = [5 6 30 32 33 34; 3 4 35 36 37 47; 1 2 46 48 11 10; 7 8 9 16 17 31; 20 25 26 27 24 21;...28 39 38 40 41 29; 14 23 22 19 18 15; 12 13 45 42 43 44];
F4 = [6 7 31 30; 1 10 9 8; 2 3 47 46; 4 5 34 35; 32 25 26 33; 36 37 38 39;...11 12 44 48; 15 16 17 18; 19 20 21 22; 27 24 29 28; 40 41 42 43; 13 14 23 45];
hold on;axis equal;grid on
axis([-1.5,1.5,-1.5,1.5,-1.5,1.5])
view(3);
patch('Vertices', V, 'Faces', F4, 'FaceColor', [0 .8 .9]);
patch('Vertices', V, 'Faces', F6, 'FaceColor', [0 .5 .9]);
patch('Vertices', V, 'Faces', F8, 'FaceColor', [0 .5 .5]);

在代码最后加入这么一行即可生成投影:

axProjection3D('XYZ') 

只生成部分投影:

axProjection3D('XZ') 

为每个投影设置不同颜色:

axProjection3D('X') 
axProjection3D('Y',[.7,0,0]) 
axProjection3D('Z',[0,0,.7]) 

以上是工具函数的基本使用,以下给出应对其他几种图像格式该工具的使用效果:


三维曲面投影

此部分主要是值使用函数surfsurfacemesh函数创建的曲面,完全相同的使用方式:

cplxdemo
axis([-1.5,1.5,-1.5,1.5,-1.5,1.5])axProjection3D('XYZ') 


三维曲线投影

此部分主要是值使用函数lineplot3函数创建的曲线,完全相同的使用方式:

[~,L]=ode45(@(t,L)Lorenz(t,L),0:.01:100,[1;1;1;10;28;8/3]); 
plot3(L(:,1),L(:,2),L(:,3))
grid onaxProjection3D('XYZ') function dL=Lorenz(t,L)
% L=[x;y;z;a;r;b];
% dL=[dx/dt;dy/dt;dz/dt;0,0,0];
% dz/dt=-a*(x-y)
% dy/dt=x*(r-z)-y
% dz/dt=x*y-b*z
dL=zeros([6,1]);
dL(1)=-L(4)*(L(1)-L(2));
dL(2)=L(1)*(L(5)-L(3))-L(2);
dL(3)=L(1)*L(2)-L(6)*L(3);
dL(4:6)=0;
end


三维参数曲线投影

此部分主要是值使用函数fplot3函数创建的曲线,完全相同的使用方式:

xt = @(t) exp(-t/10).*sin(5*t);
yt = @(t) exp(-t/10).*cos(5*t);
zt = @(t) t;
fplot3(xt,yt,zt,[-10 10])axProjection3D('XYZ')


三维参数曲面投影

此部分主要是值使用函数fsurf函数创建的曲面,完全相同的使用方式:

syms u v;
r = @(u) 4 - 2*cos(u);
x = piecewise(u <= pi, -4*cos(u)*(1+sin(u)) - r(u)*cos(u)*cos(v),...u > pi, -4*cos(u)*(1+sin(u)) + r(u)*cos(v));
y = r(u)*sin(v);
z = piecewise(u <= pi, -14*sin(u) - r(u)*sin(u)*cos(v),...u > pi, -14*sin(u));
fsurf(x,y,z, [0 2*pi 0 2*pi]);
axis([-8,12,-8,12,-22,18])axProjection3D('XYZ') 


混合类型三维绘图投影

多种类型图像画在一起:

xt = @(t) exp(-t/10).*sin(5*t);
yt = @(t) exp(-t/10).*cos(5*t);
zt = @(t) t;
fplot3(xt,yt,zt,[-10 10],'LineWidth',2)
hold on[X,Y,Z] = peaks(30);
surf(X,Y,Z)
axis([-5,5,-5,5,-8,8])
axProjection3D('XYZ')


工具函数完整代码

function axProjection3D(varargin)% 获取参数
if isa(varargin{1},'matlab.graphics.axis.Axes')ax=varargin{1};varargin(1)=[];
elseax=gca;
end
hold(ax,'on')
ax.XLim=ax.XLim;
ax.YLim=ax.YLim;
ax.ZLim=ax.ZLim;
state=upper(varargin{1});
if length(varargin)>1faceColor=varargin{2};
elsefaceColor=[.5,.5,.5];
end
[~,state,~]=intersect('XYZ',state);% 记录子图形对象
ChildrenList(length(ax.Children))=ax.Children(end);
for n=1:length(ax.Children)ChildrenList(n)=ax.Children(n);
end
for n=length(ChildrenList):-1:1if strcmp(ChildrenList(n).Tag,'AP3D')ChildrenList(n)=[];end
end% 绘制投影
minLim=[ax.XLim(2),ax.YLim(2),ax.ZLim(1)];
for i=1:length(state)ii=state(i);for n=1:length(ChildrenList)switch true% Patch对象投影 case isa(ChildrenList(n),'matlab.graphics.primitive.Patch')tobj=copyobj(ChildrenList(n),ax);tobj.Vertices(:,ii)=minLim(ii);tobj.FaceColor=faceColor;tobj.FaceAlpha=.5;tobj.EdgeColor=faceColor./5;tobj.EdgeAlpha=.9;tobj.Tag='AP3D';% Surface对象投影case isa(ChildrenList(n),'matlab.graphics.chart.primitive.Surface')||isa(ChildrenList(n),'matlab.graphics.primitive.Surface')tobj=copyobj(ChildrenList(n),ax);switch iicase 1,tobj.XData(:,:)=minLim(ii);case 2,tobj.YData(:,:)=minLim(ii);case 3,tobj.ZData(:,:)=minLim(ii);endtobj.FaceColor=faceColor;tobj.FaceAlpha=.5;tobj.EdgeColor=faceColor./5;tobj.EdgeAlpha=.9;tobj.Tag='AP3D';% Line对象投影case isa(ChildrenList(n),'matlab.graphics.chart.primitive.Line')||isa(ChildrenList(n),'matlab.graphics.primitive.Line')tobj=copyobj(ChildrenList(n),ax);switch iicase 1,tobj.XData(:,:)=minLim(ii);case 2,tobj.YData(:,:)=minLim(ii);case 3,tobj.ZData(:,:)=minLim(ii);endtobj.Color=[faceColor,.5];tobj.Tag='AP3D';% 三维参数化曲线case isa(ChildrenList(n),'matlab.graphics.function.ParameterizedFunctionLine')tobj=copyobj(ChildrenList(n),ax);switch iicase 1,tobj.XFunction=@(t)t.*0+minLim(ii);case 2,tobj.YFunction=@(t)t.*0+minLim(ii);case 3,tobj.ZFunction=@(t)t.*0+minLim(ii);endtobj.Color=[faceColor,.5];tobj.Tag='AP3D';% 三维参数化曲面case isa(ChildrenList(n),'matlab.graphics.function.ParameterizedFunctionSurface')tobj=copyobj(ChildrenList(n),ax);switch iicase 1,tobj.XFunction=minLim(ii);case 2,tobj.YFunction=minLim(ii);case 3,tobj.ZFunction=minLim(ii);endtobj.FaceColor=faceColor;tobj.FaceAlpha=.5;tobj.EdgeColor=faceColor./5;tobj.Tag='AP3D';endend
end
end
http://www.lbrq.cn/news/2442295.html

相关文章:

  • 个人备案域名做企业网站厦门seo蜘蛛屯
  • 手机数码网站网店推广有哪些
  • 人成免费入口2022郑州网络seo
  • 网站建设目标的管理可行性北京seo推广优化
  • seo推广必须要做的9种方法seo文章
  • 江苏联运建设有限公司网站如何建立公司网站网页
  • 展示网站欣赏站长统计app网站
  • 济南网站制作工具舆情信息在哪里找
  • 织梦app网站模板重大新闻事件2023
  • 石家庄网推公司做网络优化的公司排名
  • 佛山自己网站建设百度竞价推广怎么做
  • 深圳网站建设推进yandex搜索入口
  • 网站做后怎么可以在百度搜索到北京seo排名厂家
  • 信息技术做网站网络广告文案
  • 潮州网站建设微信朋友圈广告如何投放
  • pp视频在线观看免费大全下载seo工程师是什么职业
  • 建筑公司网站背景图域名注册网站
  • 网站地图提交入口百度网站怎么提升排名
  • 网站风格包括哪些免费隐私网站推广
  • 一流的网站建设案例合肥百度关键词推广
  • 成人用品网站优化方法semester什么意思
  • seo优化 div css_网站架构优化如何在百度上添加店铺的位置
  • 天津品牌网站建设公司seo基础知识包括什么
  • 自己创建网站怎么得流量钱建站系统软件有哪些
  • 网站建设找哪些平台凡科网站官网
  • 做网站后台要学信阳seo优化
  • 前端工程师是做网站吗百度公司推广
  • 已有网站做移动网站媒体网络推广价格优惠
  • 有关建设的新闻网站搜索引擎优化的完整过程
  • 网站优化流程图公司推广文案
  • selenium完整版一览
  • 【AI论文】WebShaper:通过信息寻求形式化实现主动式数据合成
  • 代码随想录算法训练营二十八天|动态规划part01
  • 实战演练1:实战演练之命名实体识别
  • rt-thread 5.2.1 基于at-start-f437开发过程记录
  • 英语听力口语词汇-8.美食类