全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
885 0
2018-12-11
从一固定点引出六条不同长度的线段,构成一个不规则的多边形,求这个不规则多边形的图心。以下为图例、数据及代码。 2.png    3.png
代码:
data1$x <- data1$距离*sin(data1$角度/180*pi)
data1$y <- data1$距离*cos(data1$角度/180*pi)
#
# data1$x <- data1$X
# data1$y <- data1$Y
# data <- data1
order(data1$角度,decreasing = T)
data <- data1[order(data1$角度,decreasing = F),]
n <- nrow(data)
z1 <- numeric(n-2);z2 <- numeric(n-2);ss <- numeric(n-2)
for (i in 1:(n-2)) {
  d1 <- data[c(1,i+1,i+2),c(3,4)]
  zx <- mean(d1$x);zy <- mean(d1$y)
  s <- 1/2*(d1$x[1]*d1$y[2]+d1$x[2]*d1$y[3]+d1$x[3]*d1$y[1]-d1$x[1]*d1$y[3]-d1$x[2]*d1$y[1]-d1$x[3]*d1$y[2])
  z1 <- zx
  z2 <- zy
  ss <- s
}
zzx <- sum(z1*ss)/sum(ss)
zzy <- sum(z2*ss)/sum(ss)
zhongxin <- c(zzx,zzy)
zhongxin
结果:
         X坐标1.431466
     Y坐标1.913244这个代码指针对一组数据使用,但是手中有许多组这样的数据,想加一个循环,能够对各列进行循环操作,求得图心的X、Y坐标。求各位帮助!

附件列表
1.png

原图尺寸 17.36 KB

1.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群