Исправлена эта проблема.Исправленный рабочий код: http://jsfiddle.net/ZxRBT.
Обратите внимание на строку
var t = translate(-R1R2x, -R1R2y, IDENTITY_TRANSFORM());
В моей предыдущей версии кода эта строка была
var t = translate(-R1R2x, -R1R2y, sr);
Поэтому, когда я былвычисляя значения C1
и C2
, используя следующий код
C1 = compose(vut, [[R1x],[R1y],[1]]);
C2 = compose(vut, [[R2x],[R2y],[1]]);
Я также применял композицию sr
к R1x,R1y
и R2x,R2y
, но эти точки уже были в sr
координата.
Это была серьезная ошибка, которую я очень долго упускал из виду.