资源简介

编程实现了如何判断一个平面里的两条线段是否相交!

资源截图

代码片段和文件信息

package dlc.test;

import java.util.Scanner;

import dlc.test.line.JudgeUtils;
import dlc.test.line.LineSegment;
import dlc.test.line.Point;
/**测试程序
 * 里面判断两条线段是否相交的函数为boolean IsLineIntersection(LineSegment l1LineSegment l2)
 * 所有的判断函数都已经放在了工具类JudgeUtils里面
 * 使用的判断线段是否相交的具体方法是:先求出线段对应的直线直线交点,
 * 若存在,则继续判断交点是否在分别在两条线段上,若满足条件,则线段相交
 * 经测验,这种方法编程绝对是比较繁琐的。程序复杂度比较高
 * @author 戴荔春 
 * @email 18262280461@sina.cn
 * */
public class MainTest {
/**程序入口*/
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
//其实,起始点与结束点不安顺序输入也没有关系,因为后续已经有程序处理这种情况了
System.out.println(“输入的是double型数据!“);
System.out.println(“请输入第一条直线的起始点的X:“);
double startP1X=in.nextDouble();
System.out.println(“请输入第一条直线的起始点的Y:“);
double startP1Y=in.nextDouble();
System.out.println(“请输入第一条直线的结束点的X:“);
double endP1X=in.nextDouble();
System.out.println(“请输入第一条直线的结束点的Y:“);
double endP1Y=in.nextDouble();
System.out.println(“请输入第二条直线的起始点的X:“);
double startP2X=in.nextDouble();
System.out.println(“请输入第二条直线的起始点的Y:“);
double startP2Y=in.nextDouble();
System.out.println(“请输入第二条直线的结束点的X:“);
double endP2X=in.nextDouble();
System.out.println(“请输入第二条直线的结束点的Y:“);
double endP2Y=in.nextDouble();
Point startP1=new Point(startP1XstartP1Y);
Point endP1=new Point(endP1XendP1Y);
Point startP2=new Point(startP2XstartP2Y);
Point endP2=new Point(endP2XendP2Y);
//校正起始点与终止点
JudgeUtils.exchangePoint(startP1endP1);
JudgeUtils.exchangePoint(startP2endP2);
//检测是否正确的调换了值
System.out.println(“startP1X=“+startP1.getX()+“endP1X=“+endP1.getX());
System.out.println(“startP1Y=“+startP1.getY()+“endP1Y=“+endP1.getY());
System.out.println(“startP2X=“+startP2.getX()+“endP2X=“+endP2.getX());
System.out.println(“startP2Y=“+startP2.getY()+“endP2Y=“+endP2.getY());
LineSegment l1=new LineSegment(startP1 endP1);
LineSegment l2=new LineSegment(startP2 endP2);
//如果两条线段相交
if(JudgeUtils.IsLineIntersection(l1l2))
{
System.out.println(“最终结果为:两条线段相交!“);
}
else
{
System.out.println(“最终结果为:两条线段不相交!“);
}
}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5633  2014-10-29 18:33  2014.10.29判断线段相交的暴力做法\JudgeUtils.txt

     文件        327  2014-10-29 20:41  2014.10.29判断线段相交的暴力做法\向量乘积.txt

     文件        232  2014-10-29 15:14  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\.classpath

     文件        394  2014-10-29 15:14  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\.project

     文件       3540  2014-10-29 19:53  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin\dlc\test\line\JudgeUtils.class

     文件        823  2014-10-29 19:52  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin\dlc\test\line\LineSegment.class

     文件        681  2014-10-29 19:52  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin\dlc\test\line\Point.class

     文件       2738  2014-10-29 19:52  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin\dlc\test\MainTest.class

     文件       6267  2014-10-29 19:53  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src\dlc\test\line\JudgeUtils.java

     文件        484  2014-10-29 19:42  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src\dlc\test\line\LineSegment.java

     文件        375  2014-10-29 19:47  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src\dlc\test\line\Point.java

     文件       2470  2014-10-29 19:51  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src\dlc\test\MainTest.java

     文件        836  2014-10-29 19:56  2014.10.29判断线段相交的暴力做法\核心函数说明.txt

     文件       2712  2014-10-29 18:16  2014.10.29判断线段相交的暴力做法\测试线段情况.txt

     文件        254  2014-10-29 20:56  2014.10.29判断线段相交的暴力做法\算法2.txt

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin\dlc\test\line

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src\dlc\test\line

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin\dlc\test

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src\dlc\test

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin\dlc

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src\dlc

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\bin

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029\src

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程\dlc_test_line_1029

     目录          0  2014-10-29 19:54  2014.10.29判断线段相交的暴力做法\完整JAVA工程

     目录          0  2014-10-29 20:48  2014.10.29判断线段相交的暴力做法

----------- ---------  ---------- -----  ----

                27766                    26


评论

共有 条评论

相关资源