功能: 绘制圆柱点云

格式: PlotCylindPoints(c,p1, p2, p3, ..., pn)
c : 包含5个元素的矩阵变量. 里面储存圆柱信息,具体看说明.
p1, p2, p3, ..., pn : 表示可接收n个数据点云矩阵,每个矩阵列数不少于3个,参数具体含义看说明.

说明:
1、c里面包含5个元素, 其等价于 c = [cx, cy, cz, r, h], 这里(cx, cy, cz)表示圆柱形心, r表示圆柱半径, h表示圆柱长度. 这里要求r与h均大于0.

2、p1, p2, p3, ..., pn矩阵变量前3列分别储存各个点的三维x、y、z坐标, 如果矩阵变量有第4列, 则第4列会用颜色来度量, 如果有第5列,则以点大小来度量.

3、注意, 这个参数可以接收任意个点云数据。

4、这个函数适合圆柱试件。

例子1:

//下面随机产生一批点云数据
s = {Rand<矩阵运算\Rand>}(6.2,200,1);
r = {Rand<矩阵运算\Rand>}(36, 200,1);
z = {Rand<矩阵运算\Rand>}(100, 200,1);
f = {Rand<矩阵运算\Rand>}(100,200,1);
x = r * {Cos<矩阵运算\Cos>}(s);
y = r * {Sin<矩阵运算\Sin>}(s);

data = [x,y,z,f];//假如data就是我们测试的点云数据
c = [0, 0, 50, 40, 120];//圆柱形心(0,0,50), 半径40, 长度(120)
PlotCylindPoints(c, data);
{<http://www.mathsword.com/wp-content/uploads/2022/04/PlotCylindPoints.png>}

例子2:

//下面随机产生第一批点云数据
s = {Rand<矩阵运算\Rand>}(6.2, 5, 1);
r = {Rand<矩阵运算\Rand>}(36, 5, 1);
z = {Rand<矩阵运算\Rand>}(100, 5, 1);
f = {Rand<矩阵运算\Rand>}(100, 5, 1);
x = r * {Cos<矩阵运算\Cos>}(s);
y = r * {Sin<矩阵运算\Sin>}(s);

data1 = [x,y,z,f];//假如data就是我们测试的点云数据


//下面随机产生第二批点云数据
s = {Rand<矩阵运算\Rand>}(6.2, 10, 1);
r = {Rand<矩阵运算\Rand>}(36, 10, 1);
z = {Rand<矩阵运算\Rand>}(100, 10, 1);
f = {Rand<矩阵运算\Rand>}(100, 10, 1);
x = r * {Cos<矩阵运算\Cos>}(s);
y = r * {Sin<矩阵运算\Sin>}(s);

data2 = [x,y,z,f];//假如data就是我们测试的点云数据

c = [0, 0, 50, 40, 120];//圆柱形心(0,0,50), 半径40, 长度(120)
PlotCylindPoints(c, data1, data2);//执行后可同时或者单独观察data1,data2