游戏开发中的数学和物理算法(2):定义线

来源:互联网 发布:阿里云备份如何恢复 编辑:程序博客网 时间:2024/06/05 00:21

游戏开发中的数学和物理算法(2):定义线

直线公式:
Ax + By = C  (A和B不能同时为0)
讨论:
A和B不为0:为斜线(不垂直于x轴和y轴);
A为0,B不为0:直线为垂直于y轴的直线,且于y轴交与点(0,C/B);
A不为0,B为0:直线为垂直于x轴的直线,且于x轴交与点(C/A,0);

例1:

例2:

斜率:

定义斜率:


float GetSlope(Point2D p1,Point2D p2)
{
    
float slope;
    
if(p1.x-p2.x!=0)
    {
         slope
=(p1.y-p2.y)/(p1.x-p2.x);
         
return
 slope;
    }
}

已知:直线A:y1=k1*x1+b1   直线B:y2=k2*x2+b2
两直线相互垂直的条件是:斜率乘积为-1,即k1*k2=-1。
两直线平行的条件是:斜率相等,即k1=k2;当k1=k2且b1=b2直线重合。
两直线相交的条件是:斜率不相等,即k1!=k2;两直线垂直是直线相交的一种特殊情况。

原创粉丝点击