Based on the ImageCPRMapper example, get a screenshot of the cross section of the blood vessel at a central point

you have a high chance of having normal to be [0,0] if point1, point2 and point3 are on the same line.
I would do:

focalPoint = point2;
normal = normalize( direction1 + direction2 )
currentPoint = focalPoint + normal
viewUp = normalize( direction2 - direction1 ) // or something like vtkMath.perpendiculars(normal, [], viewUp)