- PtsToBestAngle两个点形成的直线与X轴的角度
Sherlock中Y轴是向下增加的,角度输出的坐标系是笛卡尔坐标系。 例如,一个point (100,100) 到 点 (200,200) 的角度,在笛卡尔坐标系中是-45 degrees.但是在sherlock中是45 degrees。 在笛卡尔坐标系中,逆时针增加角度,sherlock中是顺时针。指令 PtToPtAngleDist测量的角度是以笛卡尔坐标系为准的。
PtsToBestAngle 中设置point1与point2形成的直线设置为X轴,角度定义为–π/2 to π/2 (-90 to 90 degrees)。
这幅图显示了pt1 =(100,100)和sherlock坐标pt2显示的4个值。PtsToBestAngle角度显示在右表。。角的阴影区域显示了范围值。
小距离测量会引起误差,减少误差的办法是,x,y距离小于0.1的时候,角度设置为0.
输入:
• “pt1” [Point] - first point
• “pt2” [Point] - second point
输出:
• “angle” [Double] – Sherlock角度,顺时针是角度增加的方向。
-
PtsToBestCircle点拟合最佳圆
为了保证输入的圆是个标准圆,可以做按照以下方法进行筛选: -
设置"percent outliers"=0 并且"preprocess"=false,
-
使用尽可能多的输入“点”,均匀化点,点越多越好。你通常需要16个或更多的点才可能可靠估计圆和椭圆度。
输入:
• “percent outliers” [Double] – 设置舍弃点的百分比
默认值: 0
Minimum value: 0
Maximum value: 50
• “points” [Point array] –用来拟合圆的点,至少需要三个点。
• “preprocess” [Bool] - =true,可以删除一些孤立点。
默认值: False
• “tolerance” [Double] - 最大允许集群的中心或理想点之间的距离,最糟糕的可接受的观点。必须大于或等于零。
默认值: 1.0
Minimum value: 0.0
Maximum value: double的最大值
• “annotation color” [Double] - 最适合设置颜色和启用或禁用画圆注释。
默认值: 0xFFFF = 65535,黄色圆.
Minimum value: 最小设置为0。
Maximum value: 0xFFFFFF = 16777215, 表示白色(R,G,B all = 255).
输出:
• “diameter” [Double] – 直径.
• “points included” [Double] – 用来拟合圆的点.
• “avg fit error” [Double] –点与拟合圆的之间的距离。
• “center” [Point] – 中心点.
• “top left” [Point] – 左上点.
• “top right” [Point] – 右上点.
• “bottom right” [Point] –右下点.
• “bottom left” [Point] – 左下点.
• “outliers” [Point array] – 被丢弃的点.
• “points used” [Point array] – 用来拟合圆的点.
Circularity 输出:
• “min diameter” [Double] –最小直径.
• “max diameter” [Double] –最大直径
• “circularity” [Double] - 圆度
计算公式如下:circularity = 100 * (min diameter / max diameter)
• “ovality” [Double] – 椭圆度.如果 A = max 直径和B = min直径时, ovality = 100*(A-B)/(A+B). 这是一个标准衡量管道和其他零件椭圆测量。
• “std deviation” [Double] - 标准偏差的距离(半径)。 -
PtsToBestLine拟合直线
输入:
• “percent outliers” [Double] -通过百分比过滤点.
默认值: 0.00 [0.00000000000000000]
• “points” [Point array] – 数组点.
• “preprocess” [Bool] -等于true,则利用 Remove Isolated Outliers筛除点.
• “tolerance” [Double] -从理想的点,到最坏的情况下,允许接受的计算最大的距离,值必须大于0.
默认值: 1.0
输出:
• “points included” [Double] -用来拟合直线的点.
• “line” [Line] -拟合的直线. -
PtsToLnDist一个点数组到线的距离
输入:
• “pts” [Point array]
• “ln” [Line]
输出:
• “distances” [Double array]
• “min distance” [Double]
• “max distance” [Double]
• “min distance array index” [Double]
• “max distance array index” [Double ]
PtsToLnDistInf一个指定的点数组到线的距离
输入:
• “ln” [Line]
• “point” [Point]
Has infinite 输入
输出:
• “distances” [Double array]
• “min distance” [Double]
• “max distance” [Double]
• “min distance array index” [Double]
• “max distance array index” [Double]
PtsToPtsDist一个点数组到一个点数组的距离
输入:
• “pts0” [Point array]
• “pts1” [Point array]
输出:
• “distance” [Double array]
• “x distance” [Double array]
• “y distance” [Double array] -
Size返回数组大小
输入:
• “array” [Bool Array] – 新数组.
输出:
• “size” [Integer] – 返回数组大小.
GetAt获取指定index的元素值
输入:
• “array” [Line array] – 原数组.
• “index” [Double] –序号index.
默认值: 0.00 [0.00000000000000000]
输出:
• “value” [Line] – 返回index的数值.
Extrema返回数组中的最大值和最小值的数值和索引
输入:
• “array” [Double array] –原数组.
输出:
• “maximum value” [Double] –最大值.
• “maximum index” [Double] –最大值索引index
• “minimum value” [Double] –最小值
• “minimum index” [Double] – 最小值索引index
Maximum计算最大值数值和序号index
Input:
• “array” [Double array] – 原数组.
输出:
• “maximum value” [Double] –最大数.
• “maximum index” [Double] – 最大数的序号index.
Minimum计算最小值和序号index
Input:
• “array” [Double array] – 原数组
输出:
• “minimum value” [Double] – 最小值.
• “minimum index” [Double] – 最小值的序号index.
Reverse倒序数组的元素
Input:
• “input array” [Double array] –原数组.
Output:
• “reversed array” [Double array] –返回新的数组.
Sor数组元素排序
输入:
• “arr” [Double array] – 原数组.
• “descending” [Bool] – 排序的方向.
默认值: FALSE = 升序
TRUE =降序
输出:
• “new array” [Double array] – 返回新的数组.