用java实现:一个斜向矩形,已知4个点,判断任意一点是否在区域内?
用java实现:一个斜向矩形,已知4个点,判断任意一点是否在区域内?用最简单的语言编写直接可用的...
用java实现:一个斜向矩形,已知4个点,判断任意一点是否在区域内?
用最简单的语言编写 直接可用的 展开
用最简单的语言编写 直接可用的 展开
展开全部
将这个矩形封装成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)的点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你有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判断就可以了!
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判断就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想问一下,你说的那四个点是矩形的四个角的坐标吗?
更多追问追答
追问
是的
追答
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;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询