Main Content

cartesianToBarycentric

将坐标从笛卡尔坐标转换为重心坐标

说明

示例

B = cartesianToBarycentric(TR,ID,C) 返回 C 中的点相对于三角剖分对象 TR 的重心坐标。C 的每行包含点相对于按 ID 进行索引的三角形或四面体的笛卡尔坐标。TR 中的三角形或四面体的标识号是属性 TR.ConnectivityList 的对应行号。

示例

全部折叠

基于一组点 P 和三角剖分连接列表 T 创建一个三角剖分,并对该三角剖分绘图。

P = [2.5 8.0; 6.5 8.0; 2.5 5.0; 6.5 5.0; 1.0 6.5; 8.0 6.5];
T = [5 3 1; 3 2 1; 3 4 2; 4 6 2];
TR = triangulation(T,P);
triplot(TR)

TR 中的第一个(最左边的)三角形中查找第三个顶点的笛卡尔坐标。

L = TR.ConnectivityList(1,3);
C = TR.Points(L,:)
C = 1×2

    2.5000    8.0000

将点 C 转换为相对于第一个三角形的重心坐标。

B = cartesianToBarycentric(TR,1,C)
B = 1×3

     0     0     1

输入参数

全部折叠

三角剖分表示法,指定为标量 triangulationdelaunayTriangulation 对象。

数据类型: triangulation | delaunayTriangulation

三角形或四面体标识,指定为标量或列向量,其每个元素对应于三角剖分对象中的单个三角形或四面体。每个三角形或四面体的标识号是 ConnectivityList 属性的对应行号。

数据类型: double

笛卡尔坐标,指定为二维坐标的两列矩阵或三维坐标的三列矩阵。

数据类型: double

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2013a 中推出