zoukankan      html  css  js  c++  java
  • 求线段的交点

    求线段的交点

    var p1: Point = new Point(0, 0);
    var p2: Point = new Point(50, 50);
    var p3: Point = new Point(0, 50);
    var p4: Point = new Point(50, 0);
    
    var p: Point = new Point;
    if (p1.x == p2.x) {
        if (p3.x == p4.x) {
            //平行线
            p = null;
        } else {
            p.x = p1.x;
            p.y = p3.y + (p1.x - p3.x) / (p4.x - p3.x) * (p4.y - p3.y);
        }
    } else if (p3.x == p4.x) {
        p.x = p3.x;
        p.y = p1.y + (p3.x - p1.x) / (p2.x - p1.x) * (p2.y - p1.y);
    } else {
        var K1: Number = (p1.y - p2.y) / (p1.x - p2.x);
        var K2: Number = (p3.y - p4.y) / (p3.x - p4.x);
        if (K1 == K2) {
            //平行线
            p = null;
        } else {
            var B1: Number = (p1.x * p2.y - p1.y * p2.x) / (p1.x - p2.x);
            var B2: Number = (p3.x * p4.y - p3.y * p4.x) / (p3.x - p4.x);
            p.x = (B2 - B1) / (K1 - K2);
            p.y = K1 * p.x + B1;
        }
    }
    trace(p.x, p.y); //output: 25,25
    

      

  • 相关阅读:
    目录
    mysql 常用命令复习
    mysql备份及pymysql
    mysql 表操作
    mysql 库操作
    mysql 数据库
    各种推导式
    python 之I/O模型
    python 之进程
    python之 多线程(二)
  • 原文地址:https://www.cnblogs.com/fengziwu/p/15257079.html
Copyright © 2011-2022 走看看