zoukankan      html  css  js  c++  java
  • 计算两条直线的交点C语言

    呵呵,有点急。。。

    #include<stdio.h>

    typedef 
    struct point{
        
    int x;
        
    int y;
    }point;

    typedef 
    struct line{
        point point1;
        point point2;
    }line;

    //计算两条直线的交点
    point getCross(line line1, line line2)
    {
        point CrossP;
        
    //y = a * x + b;
        int a1 = (line1.point1.y - line1.point2.y) / (line1.point1.x - line1.point2.x);
        
    int b1 = line1.point1.y - a1 * (line1.point1.x);

        
    int a2 = (line2.point1.y - line2.point2.y) / (line2.point1.x - line2.point2.x);
        
    int b2 = line2.point1.y - a1 * (line2.point1.x);

        CrossP.x 
    = (b1 - b2) / (a2 - a1);
        CrossP.y 
    = a1 * CrossP.x + b1;
        
    return CrossP;
    }

    void main()
    {
        line line1;
        line line2;

        
    //line1
        line1.point1.x = 10;
        line1.point1.y 
    = 10;
        line1.point2.x 
    = 50;
        line1.point2.y 
    = 50;

        
    //line2
        line2.point1.x = 2;
        line2.point1.y 
    = 60;
        line2.point2.x 
    = 60;
        line2.point2.y 
    = 0;

        point CointP 
    = getCross(line1, line2);
        printf(
    "%d,%d\n", CointP.x, CointP.y);

    }
  • 相关阅读:
    Java 8特性
    11成最多体积的容器
    MySQL数据库理解
    java范型
    ArrayList源码分析
    1.面试题
    jvm简单了解
    121. 买卖股票的最佳时机
    有效的括号
    java如何判断一个字符串中某个字符有几个
  • 原文地址:https://www.cnblogs.com/liulei/p/1756909.html
Copyright © 2011-2022 走看看