Matlab --- 如何用matlab在三维坐标系中画一个三维向量

news2024/11/24 16:58:55

用MATLAB画三维向量

        前两天,我在写Gram-Schmidt正交化的文章时,想到最好用matlab把还没有经过正交化计算的原始向量,和已经经过正交化处理后的正交基,在三维坐标系中,用图像的方式表示出来。这样可以更加直观的看到向量与向量之间的“垂直”,而不是通过计算向量之间的内积去证明他们“正交”。

        事实上,我之前多次有过在三维坐标系中作图的需求,一直也没有找到非常合适的。比如说,在三维坐标系中画一个点,等。这一次,我在画三维向量的时候,无意中找到了一个函数quiver3(),他可以实现在三维坐标系中画一个或多个三维向量的问题。

1,首先,我们用quiver3函数画一个向量v=[1,2,8]

先定义向量的坐标原点为[0,0,0]

X=[0];
Y=[0];
Z=[0];

定义一个三维向量

U=[1];
V=[2];
W=[8];

画图

figure;
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)

其中,“W”后面的参数“0”,表示的是对图像中向量长度的缩放(只能是一个正整数,例如2,这就是说,图像中向量的长度是实际向量长度的两倍),也就是上面语法中的Scale。一般情况下,如果你不输入scale参数,例如,直接使用quiver3(X,Y,Z,U,V,W),为了美化图像matlab会自动对向量的长度进行适当的缩放。所以,要想在图像中“按照一比一的比例”画出我们输入的向量,我们应该把scale参数关掉,关掉的方法就是令scale=0,即off。(默认为auto)

"LineWidth"表示图画中线的宽度,一般不用可以去设置,我这里写的1,是为了看的更清楚,默认值可能是0.5或者0.7吧,反正没有1粗。

最终得到如下图像,为了显示scale=0的效果,我把默认值scale=auto的图像也给出来了。

向量[1,2,8]在x-y平面的投影图

 向量[1,2,8]在x-z平面的投影图

        从上面的比较图可以看出,当scale=0,也就是auto scale为off时(上图右边)。向量在x,y,z各个方向的长度都和我们实际输入的一致,但如果是auto scale(上图左边),可以看到向量的长度相对于右图会有一定比例的缩小。

这是matlab官方文档中,对“Scale”参数的说明和部分图示:

 

 

最后输入:

axis equal

        他让每个坐标轴都使用统一标准的刻度尺去绘图,这也就是说,matlab在用quiver3去画向量图的时候,他也默认对坐标轴进行了不同程度的缩放,以至于,本例中的向量[1,2,8],在图中看起来,箭头在x,y,z三个方向的长度都差不多。在z方向的比例尺为0,2,4,6,8(红色),x轴的比例尺为0,0.2,0.4,0.6,0.8,1(黄色),在y轴方向的比例尺为0,0.5,1,1.5,2(蓝色)。

 输入axis equal后,因为,向量在x,y,z各轴,都使用同一尺寸的标准刻度,因为,向量[1,2,8]的方向也会非常精准,如下图所示。

2,我们用quiver3函数画2个向量v1=[1,1,1],v2=[1,3,5]

        一样,先分别定义两个向量的坐标原点[0,0,0],其中X,Y,Z中的第一个元素表示的是第一个向量v1的起始坐标,第二个元素是第二个向量v2的起始坐标。

X=[0,0];
Y=[0,0];
Z=[0,0];

        其次,输入两个向量v1,v2,同样,v1中的三个值,被分别存放在U,V,W的第一个元素中,v2中的三个值则放在U,V,W的第二个元素中。

U=[1,1];
V=[1,3];
W=[1,5];

画图 

figure;
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
legend('v1,v2','Location','northwest')

        其中,函数legend()用于给图像配上说明文字。如果要在图中把两个向量区别开,并用不同颜色来表示,则要像之前画单个向量的方法一个个的画。

X=[0];
Y=[0];
Z=[0];
U=[1];
V=[1];
W=[1];

quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
axis equal
hold on

U=[1];
V=[3];
W=[5];
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
axis equal
legend('v1','v2','Location','northwest')

两个的向量的颜色也可以通过参数color单独指定,‘r’为红色,‘k’为黑色:

X=[0];
Y=[0];
Z=[0];
U=[1];
V=[1];
W=[1];

quiver3(X,Y,Z,U,V,W,0,'LineWidth',1,'Color','r')
axis equal
hold on

U=[1];
V=[3];
W=[5];
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1,'Color','k')
axis equal
legend('v1','v2','Location','northwest')

如果想用不同的自定义颜色,可参考如下说明:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/559915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3实现动态菜单和动态路由和刷新后白屏处理

前言: 项目中,当每一个角色得到的界面不一致的时候,我们就不能使用静态菜单了,而是要从后端得到动态的菜单数据,然后动态的将菜单数据展示在界面上。 除了在界面展示,也还要将界面的路由动态添加&#xf…

档案管理流程,文件上传,文件解析流程

文件上传 先简单说下文件上传的步骤吧 控制层简单左下转发 PostMapping("uploadAndParsing") public ResponseResult uploadAndParsing(RequestParam("file") MultipartFile file){try {String accessToken Header.getAuthorization(request.getHeader(…

2022年度互联网平均薪资出炉~

近期,国家统计局发布2022年平均工资数据,互联网行业薪资再次成为大家关注的焦点。 在2022年分行业门类分岗位就业人员年平均工资中,信息传输、软件和信息技术服务业的薪资遥遥领先其他行业,为全国平均薪资水平的 1.78 倍&#xf…

H-buildX项目(学习笔记1.0)

记录一下自己的学习过程。 首先,下载H-buildX软件,直接度娘下载即可。 以前一直用的是vscode,这次做网上的项目用到了这个。 打开 就是这样的界面,首先介绍几个常用的功能 右上角的预览,也就是运行你的Vue项目的界面效…

2023华为OD机试(A卷+B卷)(Java C++ Python JS)真题目录 + 考点 + 通过率

文章目录 🚀前言华为OD刷题列表,每天十题,刷出算法新高度,刷出人生新际遇🔰刷题列表:华为OD机试真题(Java C Python JS) 🚀其他华为OD机试题清单 📝最后作者&…

【最新整理】一起看看86 个 ChatGPT 插件

今天我们来看看这86个插件都是做什么的? Shimmer:跟踪膳食并获得更健康生活方式的见解 World News:总结新闻头条 Bohita:用您能描述的任何图像制作服装 Portfolio Pilot:您的 AI 投资指南:投资组合评估…

跟着我学 AI丨五分钟了解人工智能的发展史

随着 ChatGPT 火出圈,又接二连三出现了文心一言、Midjourney、FireFly 等创新性的 AI 产品,互联网掀起的 AI 风暴已经席卷了全球各个角落。AI 究竟为什么这么强大?从什么时候开始冒出来的呢?今天我就带大家认识一下 AI 的发展史。…

软件设计师考试——面向对象设计模式分类

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、面向对象设计——设计模式的分类一、创建型模式二、结构型模式三、行为型模式 二、历年真题——面向对象设计模式分类2009上半年2009下半年2010上半年2010下半年…

深度学习神经网络学习笔记-多模态方向-12-DBpedia: A Nucleus for a Web of Open Data

摘要 DBpedia是一个社区努力从维基百科中提取结构化信息,并使这些信息在网络上可用。DBpedia允许您对来自维基百科的数据集提出复杂的查询,并将网络上的其他数据集链接到维基百科数据。我们描述了DBpedia数据集的提取,以及产生的信息如何在网…

img标签-访问绝对路径图片出现403的解决办法

img标签-访问绝对路径图片出现403的解决办法 图片请求显示403打不开 403是防止盗链的错误(这种设计,是api厂商正常保证自己的服务器不被刷流量) 方法一:使用no-referrer 这种方案不仅针对图片的防盗链,还可以是其他标签. 在前端…

「谷云科技」RestCloud新一代(智能)全域数据集成平台发布

5月18日,RestCloud在其成立六周年的当天,发布了“新一代(智能)全域数据集成平台”。 根据业内专家、学者和从业者通过实践和研究总结,数据集成大体可以分为4个阶段:早期阶段、数据集成软件工具、企业级数据…

chat gpt 中国镜像网站

随着人工智能技术的快速发展,自然语言处理对人们日常生活和工作中的应用变得越来越普及,其中机器翻译、自动问答、智能客服和语音识别等技术尤其受到欢迎。Chat GPT模型是其中一种被广泛使用的技术,由OpenAI开发,使用了Transforme…

【TCP】状态转换

TCP状态转换 这个图N多人都知道,它排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻的认识,不能只停留在一知半解之中。下面对这张图的…

Blender 建模风扇(UV贴图、图像纹理、环境纹理、伽玛、Cycles渲染)

目录 1. 风扇建模1.1 风扇外壳1.2 风扇内壳1.3 前盖1.4 后盖1.5 风扇叶1.6 扇叶连接部分1.7 其他细节 2. UV、材质、渲染2.1 材质属性:图像纹理2.2 UV贴图2.3 基础材质2.4 伽玛值2.5 世界属性:环境纹理2.6 背景平面2.7 灯光、摄像机2.8 渲染属性2.9 渲染…

COCO-Annotator安装和使用 [非常详细]

COCO-Annotator安装和使用 1.所需环境 安装COCO-Annotator前需要先安装Docker,有需要可以参考这篇文章:Windows下安装docker 2.安装 在要安装的目录下进入cmd输入命令 git clone https://github.com/jsbroks/coco-annotatorcd命令进入文件夹 cd co…

DICOM通信协议标准解析

DICOM通信协议的特点和内容概述 DICOM标准的主要特点 DICOM标准的主要特点 是一种上层网络协议 只有在建立“关联”之后,才能进行DICOM命令和数据的发送和接收。 DICOM编码的特点 标准定义了26中内部数据类型像素数据的编码支持JPEG的图像压缩图像可以包含缩略…

《元宇宙之声》:Meta MCDH

为下一代建造未来就绪的校园。 在本期节目中,我们访问了香港路德会马锦明慈善基金马陈端喜纪念中学(MCDH)的陈婉玲校长,讨论了 MCDH 改革教育的愿景,通过培养年轻的创作者,让他们迈出进入 The Sandbox 的第…

【谷粒商城之秒杀服务】

本笔记内容为尚硅谷谷粒商城秒杀服务部分 目录 一、秒杀业务的介绍 秒杀设计 秒杀流程 二、搭建秒杀服务环境 1、秒杀服务后台管理系统 2、搭建秒杀服务环境 二、定时任务 1、cron 表达式 2、测试 三、商品上架 1、远程查询秒杀的活动以及关联的商品信息 2、在R…

「一本通 1.2 练习 3」灯泡

题目描述 相比 w i l d l e o p a r d wildleopard wildleopard 的家,他的弟弟 m i l d l e o p a r d mildleopard mildleopard 比较穷。他的房子是狭窄的而且在他的房间里面仅有一个灯泡。每天晚上,他徘徊在自己狭小的房子里,思考如何赚…

探索Kotlin 1.8.20新特性

探索Kotlin 1.8.20新特性 Kotlin 1.8.20已经发布,我们将探索一些新功能和改进。 我们将仅涵盖新的语言功能和标准库更新。请参考参考资料部分以了解此版本的完整详情。 语言更新 Enum 类entries函数 为什么需要这个函数? values() - 返回数组&#x…