matlab绘制任意位置方位的圆锥

news2024/10/7 16:03:15

1.前记:

        使用surf函数实现指定顶点,圆锥半径,高度的圆锥。

2.代码

        为了实现任意位置和方位,使用机器人系统工具箱函数getTransform计算机器人末端正运动的齐次矩阵结果并将其位置和方位赋予要画的圆锥体上。

运行函数:

robot = loadrobot("kinovaGen3","DataFormat","column","Gravity",[0 0 -9.81]);
qq=robot.randomConfiguration;
% qq=robot.homeConfiguration

t=getTransform(robot,qq,robot.BodyNames{end});
eulZYX =rad2deg(tform2eul(t,'XYZ'));方位
t1=t(1:3,4);%位置


show(robot,qq,"Frames","off");
xlim([-1 1]); ylim([-1 1]); zlim([-0.4 1.6])
hold on
color=rand(1,3);
% MyPlotCone(size,r,P,R,alpha,color)
h=.2;%高度
r=0.1;%半径
MyPlotCone(h,r, t1,eulZYX,0.6,color)% 调用function代码

trplot(robot.getTransform(qq, robot.BodyNames{end}), 'length',0.2,'arrow','frame', 'Tcp',...
       'text_opts', {'FontSize', 6, 'FontWeight', 'bold'},...
       'width', 0.06,'thick',0.06 ,'rgb','color','k')% workspace frame

结果: 

画圆锥的代码调用: 


function MyPlotCone(h,r,P,R,alpha,color)
% write by jianrobsim
t1=P;%x y z
eulZYX=R;% y p r
%
%  cylinder - 创建圆柱
%     此 MATLAB 函数 返回三个 2×21 矩阵,其中包含圆柱的 x、y 和 z 坐标,但不对其绘图。
%     圆柱的半径为 1,圆周上有 20 个等间距点。底面平行于 xy 平面。
[X,Y,Z]=cylinder([0 r],50);% 后50为将圆化成均等分

M=makehgtform('translate',[t1(1),t1(2),t1(3)],'xrotate',deg2rad(eulZYX(1)),'yrotate',deg2rad(eulZYX(2)),'zrotate',deg2rad(eulZYX(3)));

hf=surf(X,Y,Z*h,'Parent',hgtransform('Matrix',M),'LineStyle','none','FaceAlpha',alpha);

set(hf,'FaceColor',color)
set(hf,'EdgeColor','k')
end

 附录:上述的代码中使用trplot画的机器人末端的坐标系显示。

 

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

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

相关文章

springboot+java博物馆文物管理系统

用户前台进入系统可以进行首页、文物信息、论坛交流、文物资讯、留言反馈、我的、跳转到后台等springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最…

bug:nodepad++安装hex Editor插件闪退

bug:nodepad安装hex Editor插件闪退 解决办法: 查看是否是自己的hex Editor版本下载错了(x86对应x86、x64对应x64)如果nodepad版本是v7.6.4,则需要安装0.9.9的hex Editor 0.9.9 winx64版本:https://github.…

一年换 3 份工作,在家躺平半年了!

见字如面,我是军哥! 还记得,我之前写的这篇《三年换 3 份工作,再也找不到工作了!》文章?上周有一位读者在这篇文章下留言,说自己去年一年换了 3 份工作,目前在家躺了半年了&#xff…

ML | 4.朴素贝叶斯

基于概率论的分类方法:朴素贝叶斯 文章目录 基于概率论的分类方法:朴素贝叶斯概述条件概率贝叶斯公式 朴素贝叶斯分类器2个假设Example:文本分类欢迎关注公众号【三戒纪元】 概述 朴素贝叶斯可以处理多类别问题,在数据较少的情况下仍然有效&…

加速度传感器的量程估算

在测震动和噪声的场合,现有的加速度传感器,需要客户提供加速度值的大致区间。这个值该怎么计算呢?它几乎完全与被测信号的频率有关。因为所有的信号,按照频域展开的视角,都会简化为一个个正弦波。对于正弦波有这样的属…

亚马逊云科技新增功能:在一个位置设置您的亚马逊云科技通知

5月5日,亚马逊云科技发布AWS User Notifications,这是在亚马逊云科技管理控制台中设置和查看多个亚马逊云科技账户、区域和服务的亚马逊云科技通知的单一位置。 可以以一致、人性化的格式集中设置和查看来自100多项亚马逊云科技服务的通知,…

什么是语音识别的智能客服?

前言 随着人工智能技术的不断发展,语音识别技术越来越成熟,语音技术的应用也越来越广泛。智能客服是其中一个应用领域,它通过语音识别技术,将用户的语音输入转换为文本,并通过自然语言处理技术,解决用户的…

数据库的恢复技术

更好的阅读体验 存储器结构 分类 1、易失性存储器:内存、高速缓冲存储器 2、非易失性存储器:磁盘、磁带 3、稳定存储器:理想的存储器,其中信息永不丢失 稳定存储器的实现 要实现稳定存储器,就要在多个非易失性存储…

32从零开始学Java之方法传参到底是值传递还是引用传递?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中,壹哥给大家讲解了方法的定义、调用和返回值,但方法的内容还有…

如何避免在Facebook群组中过度营销?

在社交媒体时代,Facebook群组已经成为了企业宣传的热门渠道之一。然而,很多企业在使用Facebook群组进行宣传时,都会犯一个很容易被忽视的错误——过度营销。 过度营销不仅会让Facebook群组的成员感到反感,甚至还会让管理员将你的帖…

如何进行TCP抓包调试?

网络调试工具——Wireshark Wireshark 是世界上应用最广泛的网络协议分析器,它让我们在微观层面上看到整个网络正在发生的事情。 Wireshark 本身是一个开源项目,所以也得到了很多志愿者的支持。同时,Wireshark 具有丰富的功能集,…

基于短时傅里叶变换的同步压缩变换原理和Matlab代码

基于短时傅里叶变换的同步压缩变换原理 新的短时傅里叶变换(STFT)被定义为 考虑一个单分量信号 对相位 φ ( t ) \varphi (t) φ(t)进行泰勒展开,并丢弃二阶以及高阶项。 将上式带入STFT后,可得 关于上式对时间 t t t求导,得到关于瞬时频…

Transformer 估算 101

本文主要介绍用于估算 transformer 类模型计算量需求和内存需求的相关数学方法。 引言 其实,很多有关 transformer 语言模型的一些基本且重要的信息都可以用很简单的方法估算出来。不幸的是,这些公式在 NLP 社区中鲜为人知。本文的目的是总结这些公式&am…

20230518 美国知乎 Quora 旗下 Poe.com 上可以免费Claude试用 7 天。

🚀 美国知乎 Quora 旗下 Poe.com 上可以免费Claude试用 7 天。 最强竞品 Claude 最近实现了史诗升级,支持十万 token 上下文,并且可以处理英文书籍,但申请使用需要付费。 而在美国知乎 Quora 旗下 Poe.com 上可以免费试用 7 天。…

【密码产品篇】金融数据密码机密钥体系结构(对称密码体制)

【密码产品篇】金融数据密码机密钥体系结构(对称密码体制) 金融数据密码机采用基于"对称密码体制"的三层密钥体系结构;分别为"主密钥、次主密钥和数据密钥"三层。金融数据密码机中的密钥采用"自上而下逐层保护&quo…

520要来了,CSS3模拟3D旋转节日表白动画特效

一年一度的520要来了,做为一名CSS3爱好者,怎么能不为大家的技术型表白做出一点贡献呢,这不,用CSS3模拟3D旋转的表白特效来了,快快拿去表白 目录 实现思路 单层3D可见 HTML源代码 CSS3源代码 实现思路 本文通过添…

C++ 中的继承和多态

C 中的继承和多态 一、继承二、函数重载、隐藏、覆盖、重写1.函数重载(Function Overload)2.函数隐藏(Function Hiding)3.函数重写与函数覆盖(Function Override) 三、多态四、纯虚函数和抽象类五、多重继承…

【Linux高级 I/O(1)】如何使用阻塞 I/O 与非阻塞 I/O?

本系列再次回到文件 I/O 相关话题的讨论,将会介绍文件 I/O 当中的一些高级用法,以应对不同应用场合的需求,主要包括:非阻塞 I/O、I/O 多路复用、异步 I/O、存储映射 I/O 以及文件锁。 非阻塞 I/O 关于“阻塞”一词前面已经给大家…

使用大语言模型集成工具 LangChain 创建自己的论文汇总和查询工具

Langchain可以帮助开发人员构建由大型语言模型(llm)支持的应用程序。它提供一个框架将LLM与其他数据源(如互联网或个人文件)连接起来。这允许开发人员将多个命令链接在一起,以创建更复杂的应用程序。包括最近比较火爆的AutoGPT等都是使用了Langchain框架进行开发的。…

【框架源码】Spring源码底层IOC容器加入对象的方式

1.Spring容器加入对象方式简介 使用XML配置文件 在XML配置文件中使用< bean >标签来定义Bean&#xff0c;通过ClassPathXmlApplicationContext等容器来加载并初始化Bean。 使用注解 使用Spring提供的注解&#xff0c;例如Component、Service、Controller、Repository等注…