如何解决如何找到多个点之间所有点的坐标?
在这个问题中,我有几个要点,我们称它们为A,B和C(但可以更多),我知道它们在(x,y)中的位置。我在两个轴上的定义区域也都在[1-n]之间。我需要找到落在由A,B和C生成的多边形中的所有点。
由于我没有一组点,因此我想同时使用x和y轴的整个范围,即[1-n],因为这组可能的点落在A,B生成的多边形中,以及C,但我不确定这是否可以用于该功能。
在这个阶段,我尝试了一些涉及以下功能的事情(其中一些我在SO中发现了其他问题)。
#define the range as the possible points falling in the polygon
allPointsX <- allPointsY <- c(1:2048)
#get some coordinates for three points generating the actual polygon (which in this case is a simple triangle)
xCoord <- c(127,120,152)
yCoord <- c(77,96,107)
#look for points into the polygon
points <- point.in.polygon(allPointsX,allPointsY,xCoord,yCoord)
但是我没有得到输出(全为零:all(points==0)
),或者这不是我想要的。
有什么建议吗?我想念什么?
解决方法
您的代码正确。只是您所有的点都位于三角形之外。
library(tidyverse)
ggplot(mapping = aes(x,y)) +
geom_point(data = tibble(x = allPointsX,y = allPointsY)) +
geom_polygon(data = tibble(x = xCoord,y = yCoord)) +
xlim(75,160) +
ylim(75,160)
这是位于三角形内部的一个点。
sp::point.in.polygon(127,78,xCoord,yCoord)
#> [1] 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。