绘制3维人体模型的matlab代码
绘制头-躯干-腿-臂可以独立控制角度和姿态的代码,待下一步加入肢体联动功能。
r0=1; %% radius
h0=6; %% height自已调整高度
NN=25;
cla
[X,Y,Z]=cylinder(r0,NN);
Z=h0*Z;
XX=X(2,: );
YY=Y(2,: );
Z1=Z(1,: );
Z2=Z(2,: );
N=6; %自己修改数目
% rotate this cylinders by Euler angles (th1,th2,th3) 自己改倾斜角
TH1 = [0,0,0,0,0,90]/180 *pi;
TH2 = [150,-150,0,80,-80,30]/180 *pi;
TH3 = [0,0,0,0,0,0,0]/180 *pi;
%%% centers of the cylinders,自已修改柱中心坐标
%x=[-4*cos(TH2(2))-6*cos(TH2(1)),-4*cos(TH2(2)),4*cos(TH2(3))];
%y=[0,2,4];
%z=[-4*sin(TH2(2))-6*sin(TH2(1)),-4*sin(TH2(2)),4*sin(TH2(3))];
x=[0,0,0,0,0,0];
y=[-2,2,0,-2,2,0];
z=[-4,-4,-3,3,3,4];
hold off;
for k=1:N
th1=TH1(k);th2=TH2(k);th3=TH3(k);
R1=[cos(th1),-sin(th1),0;sin(th1),cos(th1),0;0,0,1];
R2=[1,0,0;0,cos(th2),-sin(th2);0,sin(th2),cos(th2)];
R3=[cos(th3),-sin(th3),0;sin(th3),cos(th3),0;0,0,1];
A=R1*R2*R3;
for i=1:NN+1
r=[X(1,i),Y(1,i),Z(1,i)]';
rT=A*r;
XC(1,i)=rT(1);YC(1,i)=rT(2);ZC(1,i)=rT(3);
r=[X(2,i),Y(2,i),Z(2,i)]';
rT=A*r;
XC(2,i)=rT(1);YC(2,i)=rT(2);ZC(2,i)=rT(3);
r=[XX(i),YY(i),Z1(i)]';
rT=A*r;
XX1C(i)=rT(1);YY1C(i)=rT(2);Z1C(i)=rT(3);
r=[XX(i),YY(i),Z2(i)]';
rT=A*r;
XX2C(i)=rT(1);YY2C(i)=rT(2);Z2C(i)=rT(3);
end
hold on;fill3(XX1C+x(k),YY1C+y(k),Z1C+z(k),[0.1 0.1 0.1+k/(5*N)],'EdgeColor','none');
hold on;fill3(XX2C+x(k),YY2C+y(k),Z2C+z(k),[0.1 0.1 0.1+k/(5*N)],'EdgeColor','none');
hold on;XC=XC+x(k);YC=YC+y(k);ZC=ZC+z(k);
surf(XC,YC,ZC,'FaceColor','green','EdgeColor','none');
end
grid on;
daspect([1 1 1])
view(3); axis equal
camlight
lighting gouraud
x1=xlabel('X'); %#x轴标题
x2=ylabel('Y'); %#y轴标题
x3=zlabel('Z'); %#z轴标题
set(x1,'Rotation',30); %#x轴名称旋转
set(x2,'Rotation',-30); %#y轴名称旋转
绘制3维人体模型的matlab代码相关推荐
- 【图像识别】基于主成分分析算法实现人脸二维码识别matlab代码
1 简介 基于主成分分析(PCA)的人脸识别算法由于其识别率高,算法技术成熟越来越多的被用做人脸识别技术的研究.本文首先讲解了人脸识别前的图像预处理,然后介绍基于主成分分析(PCA)算法的主要步骤,最 ...
- matlab绘制3维椭球,matlab拟合三维椭球
同学问的,查了下资料. %需要拟合的点的坐标为(0,-174.802,990.048),(0.472,-171.284,995.463),(0.413,-168.639,1003.55),(0.064 ...
- matlab 泡泡图,使用matlab绘制2维、3维气泡图
在学习模糊c均值聚类时,突然想到能否将每个样本对所属簇的奴属度(C)用气泡图的形式表示出来,这样就可以在一张图上同时获得分类与奴属度(C)两类信息.在matlab中没有绘制气泡图的专用函数,不过可以通 ...
- 四维空间的二维线框投影可视化(附matlab代码)
四维空间的二维线框投影可视化(附matlab代码) 1 三维空间在2维屏幕上的投影 1.1平行投影 1.2透视投影 2 四维空间在2维屏幕上的投影 2.1 四维空间与三维空间的一些区别 2.2 四维空 ...
- matlab绘制二维曲线图
matlab绘制二维曲线图 今天,我们来讲一个用matlab绘制二维曲线图 下面直接上代码,会对代码一些部分进行一些讲解 %% 定义函数 x = 0:0.01:2*pi; y1 = sin(x); y ...
- matlab应力云图_Matlab绘制二维应力云图
自己研究了下用Matlab绘制二维应力云图的方法,三维应力云图的绘制可以以此类推. 实现的方法主要是运用fill函数,三维情形应该是fill3函数. 这里我们以一个四边形的例子来说明. 如上图所示的四 ...
- 利用matlab绘制二维均匀流线和向量场
利用matlab绘制二维均匀流线和向量场(向量场彩色箭头,颜色随变量变化) 0前言 1 均匀流线的绘制 2 绘制彩色的短线图 3 绘制彩色的均匀流线 4 运动的彩色箭头流线图 0前言 之前一篇文章ma ...
- MATLAB编程(4)——MATLAB绘制二维高斯函数的三维图
本篇博文记录使用MATLAB绘制二维高斯函数的三维图. 用到的MATLAB函数--mesh()(绘制三维线框图)和surf()(绘制三维表面图). MATLAB命令窗口输入>> doc 函 ...
- 利用MATLAB来绘制二维随机变量的联合概率密度图像
本文档通过MATLAB来绘制二维随机变量(X,Y)的联合概率密度函数. 第一种类型,X服从标准正态分布,Y服从均匀分布. [例题]已知随机变量X与Y相互独立,X~N(0,1);Y在区间[0,2]上服从 ...
最新文章
- Linux嗅探ettercap
- NLP:利用DictVectorizer对使用字典存储的数据进行特征抽取与向量化
- 【BZOJ4820】[SDOI2017]硬币游戏(高斯消元)
- C++ MFC string转Cstring为什么会乱码
- 库存商品表html源码,JSP+Servlet+数据库的方式完成一个简易的库存商品管理系统...
- 基于layui的框架模版,采用模块化设计,接口分离,组件化思想
- 比特币最主流,以太坊大跌,区块链技术“万金油”红利已结束 | 区块链开发者年度报告...
- js生成批次号_【管理】MES系统中的批次管理
- ASP经典分页类(改良后的分页类主要是显示属性)
- 上班要了解的一些法律条例
- 学生学籍管理系统数据流图
- C# ThoughtWorks.QRCode.dll 生成完美二维码(大小 边距 备注 颜色 LOGO大小背景形状)
- POI 实现Word替换文本2种情况(正常文本、表格文本)
- Dijkstra算法(最短路径)
- 使用 C# 进行 Outlook 2007 编程
- 2022年安全员-B证考试题库模拟考试平台操作
- C语言写一个函数,输入一行字符,将此字符串中最长的单词输出
- “蔚来杯“2022牛客暑期多校训练营10补题
- vue父页面调用子页面及方法及传参,鼠标光标定位
- codeforces 1399D