How to make variable transparency hole in a plane with a math function using nodes? One way to make a transparent hole in a plane with graded transparency is to uv-map a solid, monochrome image with graded alpha (I assume). 

But can I do this with nodes? I've used the Error Function to do this. 

Basically transparency is 0.5 * (1 - erf((r-r0)/fuzzy)) where r is the distance from the center of the plane, r0 is the radius of 50% transparency, and fuzzy is about 0.25 * r0. It would be nice if everything would scale, so if I scaled the plane the hole would naturally scale with it. 

note: if erf(x) is not available, it can be replaced with x.clip(-1, 1) like this:



I'm not sure how to begin to explain to nodes how to get the plane coordinates, and the erf() function.

Can this be done easily with nodes?

The image below is fake - I did it with matplotlib as an example of a plane with a fuzzy transparency as described above.



This is all I have so far, not sure how to even start to obtain u and v of the plane separately so I can even star to calculate r = sqrt(u**2 + v**2). Using Separate XYZ or Separate RGB seems to give absolute X, Y, Z coordinates, and I just want coordinates within the plane itself.
Use the Texture Coordinate node instead of Geometry. The Texture Coordinate provides 'Generated' output that varies from 0 to 1 in each dimension over the whole mesh or Object output that gives zero at the centre of the object.

For a "hole" in the centre of your plane you could use the Object Texture Coordinates and determine the distance from the origin using "distance = sqrt(x^2+y^2+z^2) like this :



Use the result to feed into the Mix factor as in your existing example. To make it variable you can add a Multiply node set to "Clamp" and/or other nodes (add, subtract, Max,Min, etc. - depending on the effect you require) just before the Mix node and adjust this to change the properties of the "hole".