怎么判断当前坐标是不是在矩形内(外)部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么判断当前坐标是不是在矩形内(外)部相关的知识,希望对你有一定的参考价值。

参考技术A

编程?还是直接说方法?

刚解答过同样的题目,是需要C语言编程,而且判定过程用函数。

代码如下:

#include <stdio.h>


int check(float a,float b,float c,float d,float x,float y)

if((x<a)||(x>a+c)||(y<b)||(y>b+d))

return 1;

else if((x>a)&&(x<a+c)&&(y>b)&&(y<b+d))

return 2;

else return 0;

 

void main()

    float a,b,c,d,x,y;

    int p=0;

    printf("请输入矩形的左下角点坐标和矩形的长、宽:  ");

    scanf("%f,%f,%f,%f",&a,&b,&c,&d);

    printf("请输入点的坐标:  ");

    scanf("%f,%f",&x,&y);

    p=check(a,b,c,d,x,y);

    switch(p)

   

    case 1: printf("点在矩形外边。");break;

    case 2: printf("点在矩形内部。");break;

    default: printf("点在矩形的边上。");break;

   

运行示例:

java知道四个点坐标,怎么判断一个点是否在这个矩形区域内(矩形可能是斜着放的,有一定的斜度)

java知道四个点坐标,怎么判断一个点是不是在这个矩形区域内(矩形可能是斜着放的,有一定的斜度)其实知道思路,但是数学很差不会,所以不能写出那个方法,求救

写法不是很规范,但是思路都在,不限于矩形
class Quar
public static boolean isInside(Point left,Point top,Point right,Point buttom,Point pointToCheck)
Line line1=Line.getLine(left, top),
line2=Line.getLine(top, right),
line3=Line.getLine(right, buttom),
line4=Line.getLine(buttom, left);
if(Line.getValue(line1, pointToCheck)>=0 && Line.getValue(line2, pointToCheck)>=0
&& Line.getValue(line3, pointToCheck)<=0 && Line.getValue(line4, pointToCheck)<=0)
return true;
else return false;

public static void main(String[] args)
System.out.println(isInside(new Point(0,1), new Point(1,8), new Point(2,7), new Point(1,1), new Point(1.2,7)));



class Point
double x;
double y;
Point(double x,double y)
this.x=x;
this.y=y;


class Line
double a;
double b;
double c;
Line(double a,double b,double c)
this.a=a;
this.b=b;
this.c=c;

static Line getLine(Point p1,Point p2)
//cy=ax+b
double a=(p1.y-p2.y)/(p1.x-p2.x),b,c;
if(Double.isNaN(a))throw new NumberFormatException("输入的两点有重合");
else if(Double.isInfinite(a))
a=1;
b=p1.x;
c=0;
else
b=(p1.x*p2.y-p2.x*p1.y)/(p1.x-p2.x);
c=1;

return new Line(a,b,c);

static double getValue(Line l,Point p)
return l.a*p.x+l.b-l.c*p.y;

参考技术A 很简单,我等下写给你

以上是关于怎么判断当前坐标是不是在矩形内(外)部的主要内容,如果未能解决你的问题,请参考以下文章

java知道四个点坐标,怎么判断一个点是否在这个矩形区域内(矩形可能是斜着放的,有一定的斜度)

java知道四个点坐标,怎么判断一个点是否在这个矩形区域内(矩形可能是斜着放的,有一定的斜度)

在java中判断一个点是不是在一个有斜度的矩形内的 Rectangle的用法

java判断某个经纬度是不是在矩形内

C++编程!已知矩形,判断输入的点是不是包含在该矩形内。

如何判断一个点在一个矩形里边,一直点和矩形的坐标点位置。