852456 发表于 2018-10-30 12:59:00

各表的相加算法

我这里有一组坐标数据 我想要每个坐标的X值相加然后求出平均数Y值相加求出平均数 最后得出新的一个坐标下面是坐标数据
((539098.0 2.59127e+006) (539085.0 2.59126e+006) (539079.0 2.59128e+006) (539072.0 2.59128e+006) (539083.0 2.59125e+006) (539084.0 2.59124e+006) (539098.0 2.59125e+006))
X=(x1+x2....Xn)/n
Y=(Y1+Y2...YN))/N
(XY)
最后的(X Y)是我想要的

lisperado 发表于 2018-10-30 13:21:07

本帖最后由 lisperado 于 2018-10-30 13:23 编辑


(setq lst
'((539098.0 2.59127e+006) (539085.0 2.59126e+006) (539079.0 2.59128e+006) (539072.0 2.59128e+006) (539083.0 2.59125e+006) (539084.0 2.59124e+006) (539098.0 2.59125e+006))
)

;举例1
(mapcar '(lambda (f) (/ (apply '+ (mapcar f lst)) (length lst))) '(car cadr))
;(539086.0 2.59126e+006)

;举例2
(mapcar '(lambda (x) (/(apply '+ x)(length lst))) (apply 'mapcar (cons 'list lst)))
;(539086.0 2.59126e+006)

852456 发表于 2018-10-30 13:49:52

lisperado 发表于 2018-10-30 13:21


谢谢我想用这个方法求 几何图形的中心你认为可行吗

lisperado 发表于 2018-10-30 14:18:03

852456 发表于 2018-10-30 13:49
谢谢我想用这个方法求 几何图形的中心你认为可行吗

此方法不能对不规矩形态几何有孤,曲线图形或固体(solid)中心/重心有别...
以前见过别人帖子,先转换成面域Region再以vla-get-centroid获取中心点。
但好像有bug,不能离基点'(0. 0. 0.)太远

evayleung 发表于 2018-10-30 20:20:17

852456 发表于 2018-10-30 13:49
谢谢我想用这个方法求 几何图形的中心你认为可行吗

不可行,这样算出来的并不是几何图形的中心。只有少数正规的多边形能满足这个公式的要求。

852456 发表于 2018-10-31 14:27:45

evayleung 发表于 2018-10-30 20:20
不可行,这样算出来的并不是几何图形的中心。只有少数正规的多边形能满足这个公式的要求。

你好 能给我个求几何中心的 子程序吗我在论坛里找过一个求几何中心的 不过那个要图形都闭合的

llsheng_73 发表于 2018-11-1 16:42:26

本帖最后由 llsheng_73 于 2018-11-1 16:47 编辑

(setq l'((539098.0 2.59127e+006) (539085.0 2.59126e+006) (539079.0 2.59128e+006) (539072.0 2.59128e+006) (539083.0 2.59125e+006) (539084.0 2.59124e+006) (539098.0 2.59125e+006)))
(setq i(length l)i(list i i))
(mapcar'/(apply'mapcar(cons'+ l))i)

llsheng_73 发表于 2018-11-1 21:25:23

计算任意图形的"中心"比较复杂,可以看看高飞鸟的多边形最大内切圆

852456 发表于 2018-11-2 18:03:17

llsheng_73 发表于 2018-11-1 21:25
计算任意图形的"中心"比较复杂,可以看看高飞鸟的多边形最大内切圆

好的 谢谢
页: [1]
查看完整版本: 各表的相加算法