如何以一种方式表示一条线,让我有效地平移它并围绕一个点旋转它,并确定它与它的距离?
这一切都在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));
}
仿射变换矩阵没有正确地变换线。我怎样才能以一种让我有效地进行距离计算的方式来表示它,所以我可以仿造变换它?