Matrix 表示可以进行仿射变换的直线

Matrix 表示可以进行仿射变换的直线,matrix,opengl-es,opengl-es-2.0,shader,linear-algebra,Matrix,Opengl Es,Opengl Es 2.0,Shader,Linear Algebra,我如何表示一条线,使我能够有效地平移它并围绕一个点旋转它,并确定与它的距离 这一切都在二维平面上 这是我的(节略)片段着色器,用于计算与直线的距离: precision mediump float; uniform mat3 u_transform; void main() { vec3 line = vec3(2.0,1.0,-20.0)/sqrt(2.0*2.0+1.0*1.0); // line = u_transform * line; // doesn't work a

我如何表示一条线,使我能够有效地平移它并围绕一个点旋转它,并确定与它的距离

这一切都在二维平面上

这是我的(节略)片段着色器,用于计算与直线的距离:

precision mediump float;
uniform mat3 u_transform;
void main() {
    vec3 line = vec3(2.0,1.0,-20.0)/sqrt(2.0*2.0+1.0*1.0);
    // line = u_transform * line; // doesn't work as intended
    float dist = dot(line, vec3(gl_FragCoord.xy, 1.0));
}

仿射变换矩阵不能正确变换直线。如何表示它,使我能够高效地执行距离计算,从而对其进行仿射变换?

对直线进行高效运算您会说:怎么样?