File:Zhukovsky transform.svg
Original file (SVG file, nominally 459 × 176 pixels, file size: 17 KB)
Captions
Contents
Summary
[edit]DescriptionZhukovsky transform.svg |
English: Airfoil from Zhukovsky transform with explaining plot of used parameters.
Deutsch: Ein Strömungsprofil nach Schukowski Transformation mit erklärender Grafik der verwendeten Parameter. |
Date | |
Source | Own work |
Author | Karsten Adam (talk) |
Summary
[edit]The Zhukovsky transform is given by
Where a is the radius of the reference circle centred at the origin.
The unit circle is a special case giving a flat rectangle on the real axisof length 2. The circle which transforms to the aerfoil shape is defined as shown in the left subplot. To get an instructive airfoil the reference circle has to be moved out of the origin. This offset is written in polar coordinates as the distance from origin and the angle measured clockwise from the negative real axis. The radius is measured from the offset point to . The circle which transforms to the airfoil shape is given by:
The radius of the circle, , which transforms to the airfoil shape, is given by:
The reference angle, β, is given by:
So there are three parameters for the plots above:
- , the radius of the reference circle at origin
- , the distance from origin to center of offset circle
- , the angle clockwise from negative real axis to center of offset circle
The left subplot is created with , and , the right subplot is based on , and .
Matlab/Octave represents curves as a (large) set of (short) straight lines, thus leading to a large number of graphic primitives in SVG, inflating the file size. To reduce this file size, some of the curved lines (the circles) are replaced by native graphic primitives with Inkscape.
After runing the code some more tweaking and optimization on the resulting SVG file took place with Inkscape and other editors.
Source code
[edit]To create such plot type in Octave
% global setting of whole figure
f = figure;
set(f, 'Position', [0, 0, 1024, 768]);
%-----------------------------------
% left subplot, explaining variables
%-----------------------------------
subplot(1,2,1)
% settings of Zhukovsky transform
a = 1; % radius of reference circle (here: unit circle)
delta = 0.28*pi; % angle clockwise from negative x axis to center offset
roff = 0.4; % length of offset vector
% circle to be transformed, calculate parameters
roffvec = roff * (cos(pi - delta) + i * sin(pi -delta)); % center offset as vector
rx = real(roffvec); % center offset x coordinate
ry = imag(roffvec); % center offset y coordinate
rc = abs(a - roffvec) % length of radius of circle to be transformed
% plot main objects
% unit circle, coded as rounded (square) rectangle
rectangle('Position', [-a -a 2*a 2*a], 'Curvature', [1 1], 'EdgeColor','r', 'FaceColor', [.95 .84 .84])
% circle to be transformed, coded as rounded (square) rectangle
rectangle('Position', [(rx-rc) (ry-rc) (2*rc) (2*rc)], 'Curvature', [1 1], 'EdgeColor',[.22 .36 .54])
% line from origin to center offset
line([rx, 0], [ry, 0]) % r offset
% line from center offset to perimeter at a+0*i
line([rx, a], [ry, 0]) % radius of circle to transform
text('Position', [0.5 0.4], 'String', 'rc' ) % example of annotation
% axis settings and additional axis lines
axis("equal");
set(gca,'box','off','xtick',[],'xcolor','w','ytick',[],'ycolor','w')
axismax = 1.8;
line([-axismax, axismax], [0, 0]) % x axis
line([0, 0], [-axismax, axismax]) % y axis
%---------------------------------------------------
% right subplot: 2 circles and the airfoil transform
%---------------------------------------------------
subplot(1,2,2)
% settings of Zhukovsky transform
a = 1; % radius of reference circle (here: unit circle)
delta = pi/4; % angle of offset vector: 45 degree clockwise from negative x axis
roff = 0.14; % length of offset vector
% circle to be transformed, calculate parameters
roffvec = roff * (cos(pi - delta) + i * sin(pi -delta)); % center offset as vector
rx = real(roffvec); % center offset x coordinate
ry = imag(roffvec); % center offset y coordinate
rc = abs(a - roffvec) % length of radius of circle to be transformed
%-----------------------------------------------
% this is where the transformation magic happens
%-----------------------------------------------
theta = 0:.01:2*pi; % argument angle in circle to be transformed: array from 0 to 2*pi step by 0.01
zeta = rc .* exp(i.*theta) + roffvec % circle as set of complex numbers
x = real(zeta + a^2./zeta)
y = imag(zeta + a^2./zeta)
% plot main objects
% reference (unit) circle, coded as rounded (square) rectangle
rectangle('Position', [-a -a 2*a 2*a], 'Curvature', [1 1], 'EdgeColor','g') %, 'FaceColor', [.95 .84 .84])
% circle to be Zhukovsky transformed, coded as rounded (square) rectangle
rectangle('Position', [(rx-rc) (ry-rc) (2*rc) (2*rc)], 'Curvature', [1 1], 'EdgeColor',[.22 .36 .54])
hold on; % force more graphics to be plotted in same subplot
% mark center offset with a dot
plot(real(roffvec),imag(roffvec),'Color',[.22 .36 .54])
hold on; % force more graphics to be plotted in same subplot
% this is the airofoil, the target plot of Zhukovsky transform
plot(x,y,'Color','r')
% axis settings and additional axis lines
xmax = 2.5;
ymax = 1.5;
axis([-xmax, xmax,-ymax, ymax], "equal")
line([-xmax, xmax], [0, 0]) % x axis
line([0, 0], [-ymax, ymax]) % y axis
% output plots to file
%print -dpng airfoil.png % uncomment this to get a PNG directly
print -dsvg airfoil.svg
Licensing
[edit]Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 17:23, 4 June 2014 | 459 × 176 (17 KB) | Karsten Adam (talk | contribs) | {{Information |Description ={{en|1=Airfoil from Zhukovsky transform with explaining plot of used parameters.}} {{de|1=Ein Strömungsprofil nach Schukowski Transformation mit erklärender Grafik der verwendeten Parameter.}} |Source ={{own}} |... |
You cannot overwrite this file.
File usage on Commons
The following 2 pages use this file:
File usage on other wikis
The following other wikis use this file:
- Usage on de.wikipedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Short title | Joukowski transform |
---|---|
Image title | Creator: GL2PS 1.3.8, (C) 1999-2012 C. Geuzaine
For: Octave CreationDate: Tue Jun 3 18:28:12 2014 |
Width | 459.31 |
Height | 176.19 |