Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 3.js;I';我们使用矩阵进行旋转变换,它不';行不通_Javascript_Matrix_Position_Three.js_Webgl - Fatal编程技术网

Javascript 3.js;I';我们使用矩阵进行旋转变换,它不';行不通

Javascript 3.js;I';我们使用矩阵进行旋转变换,它不';行不通,javascript,matrix,position,three.js,webgl,Javascript,Matrix,Position,Three.js,Webgl,感谢“;”我失去了我的最后两天;似乎,在void main(){}之后不应该插入;性格 无论如何,我终于可以通过着色器绘制曲线并尝试新的东西 attribute float sov; attribute float pl; attribute float oi; attribute vec3 color; varying vec3 vColor; void main() {

感谢“;”我失去了我的最后两天;似乎,在void main(){}之后不应该插入;性格

无论如何,我终于可以通过着色器绘制曲线并尝试新的东西

        attribute float sov;
        attribute float pl;
        attribute float oi;
        attribute vec3 color;
        varying vec3 vColor;

        void main() {
            // Convert pl, oi to degree;
            float u = radians(pl);
            float v = radians(oi);

            // Rotation Transform
                // Make xy-plane rotation matrix;
                mat3 plMat;
                    plMat[0][0] = cos(u);   plMat[0][1] = -sin(u);
                    plMat[1][0] = sin(u);   plMat[1][1] = cos(u);

                // Make line-base rotation matrix; by Rodriges
                mat3 oiMat;
                    oiMat[0][0] = cos(v)-(cos(v) - 1.0)*sin(u)*sin(u);
                    oiMat[0][1] = (1.0 - cos(v))*(-sin(u)*cos(u));
                    oiMat[0][2] = sin(v)*cos(u);
                    oiMat[1][0] = -sin(u)*cos(u)*(1.0 - cos(v));
                    oiMat[1][1] = cos(v)-(cos(v)-1.0)*cos(u)*cos(u);
                    oiMat[1][2] = sin(u)*sin(v);
                    oiMat[2][0] = -sin(v)*cos(u);
                    oiMat[2][1] = -sin(u)*sin(v);
                    oiMat[2][2] = cos(v);

            vec3 plPosition = plMat * position;
            vec3 oiPosition = oiMat * position;

            vColor = color;
            gl_Position = projectionMatrix * modelViewMatrix * vec4(oiPosition, 1.0);
        }
我试着旋转顶点的位置,我得到了这个

//未捕获的TypeError:无法读取未定义的属性“length”

这个问题与职位指数有关吗

若我正确读取了GLSL引用,那个么对于像“position”这样的数组,必须有它的索引,可能转换会覆盖它


请帮助我。

未捕获类型错误:无法读取未定义的属性“length”
是一个JavaScript错误。它与WebGL或GLSL无关。这意味着JavaScript中存在错误。