Calcul Normal on a ribbon mesh.

hi nice of people,
i tried to put lighting on the ribbon camera exemple.
i use getPerpendicular to calcul normal between lastPoint and current point
that almost working as you can see on the picture,
there are rules always working to calculate this normal ??
thanks

ofVec3f normalLeft = leftPoint.getPerpendicular(previousFaceLeft);
ofVec3f normalRight = rightPoint.getPerpendicular(previousFaceRight);
mesh.addVertex(ofVec3f(leftPoint.x, leftPoint.y, leftPoint.z));
mesh.addNormal(normalLeft);
mesh.addVertex(ofVec3f(rightPoint.x, rightPoint.y, rightPoint.z));
mesh.addNormal(normalRight);
previousFaceLeft = leftPoint;
previousFaceRight = rightPoint;