1
我想用三个js可视化2d矩阵。这些矩阵是神经网络中神经元的状态。矩阵不是很大(64 x 32)这些矩阵中的值将会改变,我希望这些新值在可视化中显示。三个js 2d矩阵可视化
对于2d矩阵我想要一个神经元平面。
我曾尝试创建一个粒子系统,使用一个平面几何与数据矩阵中的神经元一样多的顶点。
var width = 32;
var height = 64;
var planeGeometry = new THREE.PlaneGeometry(width, height, width - 1 , height - 1);
var particlePlane = new THREE.ParticleSystem(planeGeometry, shaderMaterial);
在片段着色器每个粒子被赋予一个基础纹理(白色圆圈)
gl_FragColor = texture2D(baseTexture, gl_PointCoord);
然后我使用包含数据矩阵值(灰度像素值)的第二纹理修改每个基本纹理。
// Sets particle texture to desired color
// vertexPosition is a vec2 in coordinates local to the plane
gl_FragColor = gl_FragColor * texture2D(dataTexture, vertexPosition);
在点共享我做了以下(不相关的线ommitted)计算vertexPosition:
uniform float width;
uniform float height;
varying vec2 vertexPosition;
void main()
{
vertexPosition = vec2(position.x/width, position.y/height);
}
这是我被逮住。 vertexPosition似乎没有正确映射到dataTexture像素。我想要一个一对一的颗粒和像素之间的对应关系。
如何正确地将平面上的粒子/顶点位置映射到纹理中的等效像素位置?
我是三个js的新手,所以请随时告诉我,我的方法是完全关闭。
对于未来的调试,我如何看到每个顶点的uv值? –
看看这里:http://stackoverflow.com/questions/15764785/debug-glsl-code-in-webgl –