资源简介
编程实现了如何判断一个平面里的两条线段是否相交!
代码片段和文件信息
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
- 上一篇:noip提高组模拟题9sz
- 下一篇:破解手机号码去重排序软件
评论
共有 条评论