function fz = joukowsky_transform ( z )

%*****************************************************************************80
%
%% joukowsky_transform() applies the Joukowsky transform to data.
%
%  Discussion:
%
%    The transform is its own inverse.
%
%    Typically, the input is a set of complex points on the circumference
%    of a circle with center c and radius r which contains the point z=-1.
%
%    For a certain range of c and r, the transformed data can take a
%    shape suggestive of various airfoils.  
%
%  Licensing:
%
%    This code is distributed under the MIT license. 
%
%  Modified:
%
%    22 January 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    John D Cook,
%    Airfoils,
%    https://www.johndcook.com/blog/2023/01/21/airfoils/
%    Posted 21 January 2021
%
%  Input:
%
%    complex z(*): data to be transformed.
%
%  Output:
%
%    complex fz(*): the transformed data.
%
  fz = 0.5 * ( z + 1.0 ./ z );
  
  return
end

