r-确定三角形是否为矩形的快速方法



在二维平面中,我有数据帧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

最新更新