Computation of potential flow using dirichlet conditions [duplicate]

I know I already posted this question and I thank you for your answers, but unfortunately I didn't find what I was looking for among them. Anyway now I'll rewrite the question more clearly, because before perhaps I've not been specific enough.

I've seen that there is a way to use the finite differences method, on a cartesian orthogonal grid, to perform calculations on potential flow about an obstacle without using the Neumann conditions, but only Dirichlet conditions. It is done using the stream function, i tested it and it seem to work. This method works this way: You take a rectangular box, then you put two arbitrary values of the stream function (but the same in all the side) in the upper and lower side; then you linearly vary it along the lateral sides (so there is continuity with the potential on the upper and lower sides). In this way you define the undisturbed flow far from the obstacle. Then you place the symmetric obstacle right in the middle of the box, so you know for sure there is an horizontal streamline that divides the box in two and follows the obstacle boundary, so its potential is exactly the average value between the upper and lower side. So you have defined the Dirichlet conditions in all the box boundaries and in the obstacle boundary, and the problem is well defined and can be easily solved by using the finite difference scheme: you solve the Laplace equation for the stream function.

But this method I used has a big drawback: it can be used only with obstacles that are symmetric along an horizontal axis (the direction of the undisturbed stream). If the obstacle is asymmetric, the streamline that follows the obstacle is no longer horizontal outside the obstacle, and I don't know where it hits the box wall; then I don't know what is the stream function value that I have to put in the obstacle boundary.

Do you now any workaround or method to use only Dirichlet conditions, but on an arbitrary shaped obstacle (a wing, for example) ?

Before, someone advised me to use panel methods, coordinate transformations, etc. It would be good, but I'm looking for something simpler, if possible. It's just for demonstration of the finite differences method, it doesn't have to be particularly efficient of fast; I'd prefer just the simplest solution you can think. Something I can possibly add to my program editing it the less possible. If instead you know a simple way to implement the Neumann conditions, it would also be good.