You just reassigned d too early. d needs to be a variable to do anything with it, and your determinant now has a variable that isn't a variable - d refers to .5, but the symbolic expression doesn't know you did this.
f(a,b,c)=A.determinant()

and you should get a pleasing graphic (the plot_points because otherwise it's a bit pixelly at some singularities of the surface. Cool stuff!