Zur Beschreibungsseite auf Commons

Datei:Bump2D illustration.png

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Originaldatei(1.604 × 986 Pixel, Dateigröße: 179 KB, MIME-Typ: image/png)

Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.

Zur Beschreibungsseite auf Commons


Beschreibung

Beschreibung A bump function in 2D
Datum
Quelle Eigenes Werk
Urheber Oleg Alexandrov
PNG‑Erstellung
InfoField
 
Dieses Diagramm wurde mit MATLAB erstellt.
Quelltext
InfoField

MATLAB code

% illustration of a bump function in two dimensions
function main()

   % the number of data points. More points means prettier picture.
   N = 300;

   % a function close to what we want, but not smooth
   Z = get_step_function (N);

   % a smooth function with small support, that will serve as mollifier
   W = get_mollifier     (N);

% get the convolution of the two, so a mollified step function
   S = conv2(Z, W);

% truncate S at the edges, and scale it
   p=0.2;
   [m, n] = size(S);
   m1 = floor(p*m)+1; m2=floor((1-p)*m)-1;
   n1 = floor(p*n)+1; n2=floor((1-p)*n)-1;
   S = S(m1:m2, n1:n2);
   S = 100*S/max(max(S));
   
% plot the surface
   figure(2); clf; hold on; axis equal; axis off;
   surf(S);
   
% make the surface beautiful
   shading interp;
   colormap autumn;

% add in a source of light
   camlight (-50, 54);
   
% viewing angle
   view(-40, 38);

   % save as png
  print('-dpng', '-r400', 'Bump2D_illustration_uncropped.png');

  % optionally, crop the margins
  !convert -trim Bump2D_illustration_uncropped.png Bump2D_illustration.png
  
% get a function which is 1 on a set, and 0 outside of it
function Z = get_step_function(N)
   XX = linspace(-1.5, 4, N);
   YY = linspace(-4, 4, N);
   [X, Y] = meshgrid(XX, YY);
   
   c = 2;
   k=1.2;
   shift=10;
   Z = (c^2-X.^2-Y.^2).^2 + k*(c-X).^3-shift;
   
   Z =1-max(sign(Z), 0);

function W = get_mollifier(N)
% now try to get a function with compact support
% as a mollifier
% We will cheat by using a gaussian

   a = 4;
   XX = linspace(-a, a, N);
   YY = linspace(-a, a, N);
   [X, Y] = meshgrid(XX, YY);
   
   K = 4;
   W = exp(-K*(X.^2+Y.^2));

   % truncate the Gaussian to make it with compact support
   trunc = 1e-2;
   W = max(W-trunc, 0);

Lizenz

Public domain Ich, der Urheberrechtsinhaber dieses Werkes, veröffentliche es als gemeinfrei. Dies gilt weltweit.
In manchen Staaten könnte dies rechtlich nicht möglich sein. Sofern dies der Fall ist:
Ich gewähre jedem das bedingungslose Recht, dieses Werk für jedweden Zweck zu nutzen, es sei denn, Bedingungen sind gesetzlich erforderlich.

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

In dieser Datei abgebildete Objekte

Motiv

image/png

115be195be93ff68b2c3752960f1921ada54db78

183.286 Byte

986 Pixel

1.604 Pixel

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell05:15, 8. Aug. 2007Vorschaubild der Version vom 05:15, 8. Aug. 20071.604 × 986 (179 KB)Oleg AlexandrovTrying to fix some odd issues with the bounding box.
05:11, 8. Aug. 2007Vorschaubild der Version vom 05:11, 8. Aug. 20071.590 × 979 (186 KB)Oleg Alexandrov{{Information |Description=A bump function in 2D |Source=self-made |Date=~~~~~ |Author= Oleg Alexandrov }} {{PD-self}} Category:Partial differential equations
05:11, 8. Aug. 2007Vorschaubild der Version vom 05:11, 8. Aug. 20071.590 × 979 (186 KB)Oleg Alexandrov{{Information |Description=A bump function in 2D |Source=self-made |Date=~~~~~ |Author= Oleg Alexandrov }} {{PD-self}} Category:Partial differential equations
05:08, 8. Aug. 2007Vorschaubild der Version vom 05:08, 8. Aug. 20071.590 × 979 (186 KB)Oleg Alexandrov{{Information |Description=A bump function in 2D |Source=self-made |Date=~~~~~ |Author= Oleg Alexandrov }} {{PD-self}} Category:Partial differential equations

Die folgenden 2 Seiten verwenden diese Datei:

Globale Dateiverwendung

Die nachfolgenden anderen Wikis verwenden diese Datei: