如何确定一个点是否位于正方形的对角线上?

时间:2014-01-23 04:13:45

标签: algorithm datagrid geometry computational-geometry coordinate-systems

我需要编写一个函数来查找给定坐标的后继函数。我的意思是接班人,有3种:水平,垂直和对角线。

水平很容易:将坐标的行号与下一个的行号匹配,它是该坐标的水平后继。

垂直:相同地将坐标的列号与下一个的列号相匹配 一,这决定了它是否是一个垂直继承者

对角线:不确定。一个正方形只有2个数字,所以如果我的坐标位于正方形的对角线上,我需要先验证它,如果是,那么我需要找到它的后继者。我该怎么做?

 1) verify a point is on the diagonal of a square? and 
 2) If it is on the diagonal find its successor?

例如在此网格中:

 00, 01, 02, 03, 04, 05, 06, 07, 08
 10, 11, 12, 13, 14, 15, 16, 17, 18
 20, 21, 22, 23, 24, 25, 26, 27, 28
 30, 31, 32, 33, 34, 35, 36, 37, 38
 40, 41, 42, 43, 44, 45, 46, 47, 48
 50, 51, 52, 53, 54, 55, 56, 57, 58
 60, 61, 62, 63, 64, 65, 66, 67, 68
 70, 71, 72, 73, 74, 75, 76, 77, 78
 80, 81, 82, 83, 84, 85, 86, 87, 88

由于

1 个答案:

答案 0 :(得分:2)

在对角线上找到点: -

  

if(i == j){

     

左对角

     

} if(i == n-j-1){

     

右对角线

     

}