时间紧迫,进入正题:
1.Vec4的参数本质
对于二维直线而言类型为cv::Vec4f,对于三维直线类型则是cv::Vec6f,输出参数的前半部分给出的是直线的方向,而后半部分给出的是直线上的一点(即通常所说的点斜式直线)。
Vec4f line_para;
Point point0;
point0.x = line_para[2];//2、3代表点
point0.y = line_para[3];
double k = line_para[1] / line_para[0];//0、1代表斜率,如代码所示
2.点斜式
点斜式方程是通过直线过的一个点和其斜率求该直线平面方程的一种方法。在平时做解析几何的题目时,会更多地运用点斜式方程来解题,直接的体现直线的性质。除此之外还有截距式,斜截式,两点式。
方程式:y-y1=k(x-x1)
其中(x1,y1)为坐标系上过直线的一点的坐标,k为该直线的斜率。
推导:若直线L1经过点P1(x1,y1),且斜率为k,求L1方程。
设点P(x,y)是直线上不同于点P1的任意一点,直线PP1的斜率应等与直线L1的斜率,根据经过两点的直线的斜率公式得k=(y-y1)/(x-x1) (且:x≠x1)
所以,直线L1:y-y1=k(x-x1)
说明:
(1)这个方程是由直线上一点和斜率确定的,这一点必须在直线上,否则点斜式方程不成立;
(2)当直线l的倾斜角为0°时,直线方程为y=y1;
(3)当直线倾斜角为90°时,直线没有斜率,它的方程不能用点斜式表示,这时直线方程为x=x1。