以一个点为原点计算另一个点所在原点的哪个象限

c++

Posted by YiMiTuMi on December 22, 2023

以一个点为原点计算另一个点所在原点的哪个象限

//坐标
typedef struct {
	int x, y;
} Point;

//目标点坐标,原点坐标,返回在哪个象限
int get_quadrant(Point pTarget, Point pOrigin) 
{
    Point p;
    p.x = pTarget.x - pOrigin.x;
    p.y = pTarget.y - pOrigin.y;

    if (p.x > 0 && p.y > 0) 
    {
        return 1;
    } 
    else if (p.x < 0 && p.y > 0) 
    {
        return 2;
    } else if (p.x < 0 && p.y < 0) 
    {
        return 3;
    } else if (p.x > 0 && p.y < 0) 
    {
        return 4;
    } else 
    {
        // 点在坐标轴上
        return 0;
    }
}