给出一个矩形用C语言判断一个点是不是这在一个矩形内

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给出一个矩形用C语言判断一个点是不是这在一个矩形内相关的知识,希望对你有一定的参考价值。

参考技术A 弱A平行B,则

采纳哦本回答被提问者采纳

用java实现:一个斜向矩形,已知4个点,判断任意一点是不是在区域内?

用java实现:一个斜向矩形,已知4个点,判断任意一点是否在区域内?
用最简单的语言编写 直接可用的

参考技术A 将这个矩形封装成java中的矩形类,然后java矩形类提供了一个判断任意点是否在该矩形区域中的contain(int x,int y)方法。追问

求具体的可运行的代码

追答

import java.awt.Rectangle; //导入java包

Rectangle myRectangle=new Rectangle(int x,int y,int width,int height);
//构造一个左上角为(x,y),宽度为width,高度为height的矩形Rectangle,具体数值你根据已知形
//的4点确定
myRecangle.contains(int x,int y);
//判断该矩形是否包含位于指定位置(x,y)的点。

追问

我需要一个可以运行的完整的程序

参考技术B 如果你有java基础的话,应该能看得懂我的意思:
public class Test extends JFrame
public static void main(String[] args)
Test test = new Test();

test.addMouseListener(new MyMonitor());
test.setVisible(true);


class MyMonitor extends MouseAdapter
@Override
public void mouseClicked(MouseEvent e)
System.out.println("x=" + e.getX());
System.out.println("y=" +e.getY());



再用if判断就可以了!
参考技术C 我想问一下,你说的那四个点是矩形的四个角的坐标吗?追问

是的

追答

public class Test
public static void main(String[] args)
Point p1=new Point(0, 0);
Point p2=new Point(3, 0);
Point p3=new Point(3, 1);
Point p4=new Point(0, 1);

Point p5=new Point(2, 1.1);

double len51=Math.pow(p5.x-p1.x, 2)+Math.pow(p5.y-p1.y,2);
double len52=Math.pow(p5.x-p2.x, 2)+Math.pow(p5.y-p2.y,2);
double len53=Math.pow(p5.x-p3.x, 2)+Math.pow(p5.y-p3.y,2);
double len54=Math.pow(p5.x-p4.x, 2)+Math.pow(p5.y-p4.y,2);

double r1=Math.acos((len51+len52-9)/(2*Math.pow(len51, 0.5)*Math.pow(len52, 0.5)));
double r2=Math.acos((len52+len53-1)/(2*Math.pow(len52, 0.5)*Math.pow(len53, 0.5)));
double r3=Math.acos((len53+len54-9)/(2*Math.pow(len53, 0.5)*Math.pow(len54, 0.5)));
double r4=Math.acos((len54+len51-1)/(2*Math.pow(len54, 0.5)*Math.pow(len51, 0.5)));

System.out.println(r1+r2+r3+r4);



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


追问

运行的输出怎么是个数字呢?我需要的判断是否落于该矩形当中

追答

你理解了我的意思就对了啊,只有落在矩形内的点,包括在边上的点。那四个角度的总和才会等于2pi啊。你画下图,把任意一点和四个顶点连线。看那四个夹角就明白了。所以如果你打印出来是6.28什么的额,就是在里面了啊。具体的的数值你自己替换,比如我定义的是3*1的矩形。所以求r1什么的时候,是减去3*3或者1*1的。估计你高中的数学也是混过来的吧

本回答被提问者采纳

以上是关于给出一个矩形用C语言判断一个点是不是这在一个矩形内的主要内容,如果未能解决你的问题,请参考以下文章

C语言,给定一个矩形和一个点,判断这个点与矩形的位置关系(顶点 边 矩形内外),用函数形式并返回

用java实现:一个斜向矩形,已知4个点,判断任意一点是不是在区域内?

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

用C 如何判断点是不是在矩形内

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

C语言怎么判断4个坐标坐标是不是构成矩形?