How exactly should I set surface normals for a sculpture? I am building, with Python scripting, a sculpture by creating many plane meshes and joining them together. I have full control of the planes' surface normals, but I'm confused how to set them. As of now, I'm setting them arbitrarily, and the render seems fine. 

My intuitions about surface normals are that neighboring faces should have smoothly varying surface normals so that there's no shading discontinuity. Also, when a surface's normal points away from the camera, it appears dark. Are my intuitions correct?

In my case, it's a 3D sculpture that's supposed to be ready for view from all angles, so I can't really set the surface normals w.r.t. a fixed camera. Can I then just set them arbitrarily? 

Also, what is an easy of  ensuring "neighboring surface normals are smooth" with Python? Maybe some post processing that smoothes over the mesh?



Here is my model.
In Edit Mode, you can display normals, to see exactly which dir they are facing (N > Mesh Display).



You might be able to simply call normals_make_consistent() operator:

bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all()
bpy.ops.mesh.normals_make_consistent()


Some models don't always import with consistent normals, because they weren't consistent with the order of their vertex arrangement (clockwise sometimes, counter-clockwise elsewhere, within the same model)