MATLAB中Delaunay三角剖分怎么求各个离散点法矢,并且在图上画出法矢信息?
比如有一系列空间三维点云坐标数据,对这些数据Delaunay三角剖分后(MATLAB中已有命令),怎么求各个离散点法矢,并且在图上画出法矢信息?...
比如有一系列空间三维点云坐标数据,对这些数据Delaunay三角剖分后(MATLAB中已有命令),怎么求各个离散点法矢,并且在图上画出法矢信息?
展开
展开全部
N=10;
[x,y]=meshgrid(1:N);
z=peaks(N); %这里用matlab自带peaks函数产生的数据代替你的点云数据
x=x(:);
y=y(:);
z=z(:);
tri = delaunay(x,y); %三角网格划分
tr = TriRep(tri,[x,y,z]); %三角类表示每个三角形面元
P = incenters(tr); %求每个三角面元的内接圆圆心
fn = faceNormals(tr); %求每个三角面元的法向量
trisurf(tri,x,y,z, ...
'FaceColor', 'cyan', 'faceAlpha', 0.8); %画出曲面
axis equal;
hold on;
quiver3(P(:,1),P(:,2),P(:,3), ...
fn(:,1),fn(:,2),fn(:,3),1, 'color','r'); %画出法向量
hold off;
[x,y]=meshgrid(1:N);
z=peaks(N); %这里用matlab自带peaks函数产生的数据代替你的点云数据
x=x(:);
y=y(:);
z=z(:);
tri = delaunay(x,y); %三角网格划分
tr = TriRep(tri,[x,y,z]); %三角类表示每个三角形面元
P = incenters(tr); %求每个三角面元的内接圆圆心
fn = faceNormals(tr); %求每个三角面元的法向量
trisurf(tri,x,y,z, ...
'FaceColor', 'cyan', 'faceAlpha', 0.8); %画出曲面
axis equal;
hold on;
quiver3(P(:,1),P(:,2),P(:,3), ...
fn(:,1),fn(:,2),fn(:,3),1, 'color','r'); %画出法向量
hold off;
东莞大凡
2024-08-07 广告
2024-08-07 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询