Matmul function and PVectors

Hey,

I’ve been learning matrix multiplication, but problems started while trying to setup a PVector that utlilzes a matmul function similar to Daniel Schiffman’s example for making 3D projections. I ran into problems when I wanted to perform this specific method of matrix multiplication: " PVector projected2d = matmul(projection, v);" Even if I copy the whole Schiffman example to that point the same error pops up.

Processing 3+ gives this error in the console :slight_smile:
The function “matmul()” expects parameters like: “matmul(float[][], float[][])”

I figured that since the example is few years old maybe the syntax changed? Maybe somebody knows a workaround?

Thanks guys!



Here's the rest of the code. Tab 1:
--
float angle = 0;

PVector [] points = new PVector[4];
float[][] projection = {{1, 0, 0}, // 
                        {0, 1, 0}
                      };           
int w = 600;
int h = 400;
void settings() {
  size(w, h);
}
void setup() {


points[0] = new PVector(50, 50, 0);
points[1] = new PVector(50, -50, 0);
points[2] = new PVector(-50, 50, 0);
points[3] = new PVector(-50, -50, 0);
}

void draw() {
  background(0);
  translate(width/2, height/2);
  stroke(255);
  strokeWeight(15);
  noFill();
  
  for (PVector v : points){
PVector projected2d = matmul(projection,  v);
 // PVector transformed2d = matmul(projected2d, trans2d);
 // point(projected2d.x, projected2d.y);
 //point(v.x, v.y);
  }
angle += 0.01;
}

----
tab 2:
----
PVector v = new PVector(100, 75, 50);

float[][] vecToMatrix(PVector v){ // the matrix recieves the values of the introduced Vector v
float[][] m =  new float[3][1];
m[0][0] = v.x;
m[1][0] = v.y;
m[2][0] = v.z;
return m;
}
PVector matrixToVec(float[][]m){ // receives the Matrix m
PVector v = new PVector();
v.x = m[0][0];
v.y = m[1][0];
if (m.length > 2){
v.z = m[2][0];
}
return v;
}
1 Like

Hello,

Please format your code:
https://discourse.processing.org/faq#format-your-code

This is the error message running your code:

Look here:
https://thecodingtrain.com/CodingChallenges/112-3d-rendering.html

:)

2 Likes