代表一条线,以便它可以被仿射变换

时间:2014-05-01 12:25:32

标签: matrix opengl-es opengl-es-2.0 shader linear-algebra

如何以一种方式表示一条线,让我有效地平移它并围绕一个点旋转它,并确定它与它的距离?

这一切都在2D平面上。

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

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));
}

仿射变换矩阵没有正确地变换线。我怎样才能以一种让我有效地进行距离计算的方式来表示它,所以我可以仿造变换它?

0 个答案:

没有答案