在二维平面中,我有数据帧df
中三个点的坐标,类似
df1 <- data.frame(x = c(0,3,3),y = c(0,1,4))
df2 <- data.frame(x = c(0,3,3),y = c(0,0,4))
有没有一种快速的方法来判断三角形是否是矩形的?非常感谢!
希望这是一个你想要的
isRectTriangle <- function(df) isTRUE(all.equal(max(d <- c(dist(df))), norm(d[-which.max(d)],"2"),))
其中应用由dist
和毕达哥拉斯定理定义的函数来判断。
你会看到
> isRectTriangle(df1)
[1] FALSE
> isRectTriangle(df2)
[1] TRUE