File:Tubular neighborhood.png

From formulasearchengine
Jump to navigation Jump to search

Original file(2,506 × 1,967 pixels, file size: 374 KB, MIME type: image/png)

This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.

Description Illustration of en:Tubular neighborhood
Source Made with en:Matlab
Author Oleg Alexandrov 03:01, 1 June 2007 (UTC)
Permission
(Reusing this file)
Public domain
 
This diagram was created with MATLAB.
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.


Source code (MATLAB)

 

% illustration of tubular neighborhood
function main()

   f=inline('sin(x)', 'x'); % will construct a tubular neighborhood of this curve

   a=0; b=2*pi; N = 100; X = linspace(a, b, N); % consider N points in the interval [a, b]
   Y = f(X); % the curve
   ll = 3; % length of lines perpendicular to the curve
   lls = 0.3; % smaller subsegments
   
   thin_line = 2;
   thick_line = 4;
   
%  will draw lines perpendicular to the graph of Y=f(X) at
%  points separted by length of 'spacing'
   spacing = 0.033;
   M = floor(spacing*N); 

% colors
   red=[0.867 0.06 0.14];
   blue = [0, 129, 205]/256;
   green = [0, 200,  70]/256;
   
   figure(1); clf; hold on; axis equal; axis off;


   % plot the lines
   for k=1:N

	  p = (k-1)*M+2;
	  if p >= N
		 break;
	  end

	  % the normal to the curve at (X(p), Y(p))
	  Normal = [-(Y(p+1)-Y(p-1)), X(p+1)-X(p-1)]; Normal = Normal/norm(Normal);  
	  
	  plot([X(p)-ll*Normal(1), X(p)+ll*Normal(1)], [Y(p)-ll*Normal(2),...
					Y(p)+ll*Normal(2)], 'color', green, 'linewidth', thin_line)

	  plot([X(p)-lls*Normal(1), X(p)+lls*Normal(1)], [Y(p)-lls*Normal(2),...
					Y(p)+lls*Normal(2)], 'color', red, 'linewidth', 0.7*thick_line)

   end

   % plot the curve
   plot(X, Y, 'linewidth', thick_line);
   
   saveas(gcf, 'Tubular_neighborhood.eps', 'psc2')
This math image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it and afterwards replace this template with {{vector version available|new image name}}.


It is recommended to name the SVG file “Tubular neighborhood.svg”—then the template Vector version available (or Vva) does not need the new image name parameter.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current07:01, 2 June 2007Thumbnail for version as of 07:01, 2 June 20072,506 × 1,967 (374 KB)wikimediacommons>Oleg Alexandrovtweak

There are no pages that use this file.