File:Normal lines to the ellipse.svg

Original file (SVG file, nominally 2,000 × 2,000 pixels, file size: 290 KB)

Summary

Description
English: Normal lines to the ellipse.[1] The evolute of the ellipse ( = Stretched astroid) can be seen. The streched astroid itself is not not drawn: we see it as the locus of points where the lines are especially close to each other. Stretched = "squashed" astroid = dilated in one direction only= the Lamé curve. Is it generalization of the astroid curve)
Date
Source Own work
Author Adam majewski
Other versions Weisstein, Eric W. "Ellipse Evolute." From MathWorld--A Wolfram Web Resource
SVG development
InfoField
 
The SVG code is valid.
 
This plot was created with Gnuplot.
 
 This plot uses embedded text that can be easily translated using a text editor.

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
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.

Maxima CAS src code


 /*

===============
Batch file for Maxima CAS
save as a 
c.mac
run maxima : 
 maxima
and then : 
batch("e.mac");

------------text output =--------------
maxima

Maxima 5.41.0 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.12
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) batch("e.mac");

read and interpret file: #p/home/a/maxima/batch/curves/ellipse/e2/e.mac
(%i2) kill(all)
(%o0)                                done
(%i1) remvalue(all)
(%o1)                                 []
(%i2) ratprint:false
(%o2)                                false
(%i3) display2d:false
(%o3) false
(%i4) ellipse:x^2/a^2+y^2/b^2-1
(%o4) y^2/b^2+x^2/a^2-1
(%i5) GiveSlopeEquation(e):=block([deriv,m],depends(y,x),deriv:diff(e,x),
                        m:solve(deriv,'diff(y,x)),m:m[1],m:rhs(m),return(m))
(%i6) define(m(x,y),GiveSlopeEquation(ellipse))
(%o6) m(x,y):=-(b^2*x)/(a^2*y)
(%i7) t:0.33
(%o7) 0.33
(%i8) a:2
(%o8) 2
(%i9) b:1
(%o9) 1
(%i10) x0:a*cos(t)
(%o10) 1.892084687056774
(%i11) y0:b*sin(t)
(%o11) 0.3240430283948683
(%i12) m0:m(x0,y0)
(%o12) -1.459748028239586
(%i13) tangent:y = m0*(x-x0)+y0
(%o13) y = 0.3240430283948683-1.459748028239586*(x-1.892084687056774)
(%i14) normal:y = (-(x-x0))/m0+y0
(%o14) y = 0.3240430283948683-0.6850497350600779*(1.892084687056774-x)
(%i15) load(draw)
(%o15) "/usr/share/maxima/5.41.0/share/draw/draw.lisp"
(%i16) path:"~/maxima/batch/curves/ellipse/e2/"
(%i17) draw2d(user_preamble = "set key top right; unset mouse; ",
              terminal = 'svg,file_name = sconcat(path,"ell3"),font_size = 13,
              font = "Liberation Sans",
              title = "Normal and tangent line to the ellipse ",
              proportional_axes = 'xy,xrange = [-3,3],yrange = [-3,3],
              ip_grid = [100,100],color = blue,key = "circle",
              implicit(ellipse,x,-4,4,y,-4,4),key = "tangent",color = red,
              implicit(tangent,x,-4,4,y,-4,4),key = "normal",color = green,
              implicit(normal,x,-4,4,y,-4,4),key = "point",
              point_type = filled_circle,color = black,points([[x0,y0]]))
(%o17) "e.mac"


*/


kill(all);
remvalue(all);
ratprint:false; /* a message informing the user of the conversion of floating point numbers to rational numbers is displayed. */
display2d:false;


/* ---------- functions ---------------------------------------------------- */


/* ellipse in implicit form */
ellipse : x^2/a^2 + y^2/b^2 - 1;


 
/* 
https://www.linuxjournal.com/content/maximum-calculus-maxima

implicit differentiation
 compute m equation 
 find dy/dx of implicit equation e 
 
*/ 
GiveSlopeEquation(e):=block( 
	[deriv,m],
   	depends(y,x),
   	deriv:diff(e,x),
	m:solve(deriv,'diff(y,x)),
	m:m[1],
	m:rhs(m),
	return(m)
	)$
/*

m(x,y):=-x/y

*/

define(
	m(x,y), 
	GiveSlopeEquation(ellipse));
	
	
	
	
	
	
	
	
give_line(t):=block(
	[x0, y0, m0],
	t:float(t),
	
	/* compute point z = x+y*i of the ellipse */
	x0: a*cos(t),
	y0: b*sin(t),
	/* compute slope */
	m0 : m(x0,y0),
	
	return(explicit(-(x-x0)/m0 + y0,x,-4,4)) /* normal */
)$
	
	
	







/* ellipse parameters */
a:2;
b:1;
iMin:1; /* cot: argument 0.0 isn't in the domain of cot. #0: give_line(t=0) */ 

iMax:200;


/* --------------------computations  -------------------------------*/

tt: makelist(2*%pi*i/iMax, i, iMin, iMax)$ /* list of angles from 0 to 2 Pi */

lines: map(give_line,tt)$




/* ------- draw --------------------------------------- */
load(draw);
path:"~/maxima/batch/curves/ellipse/en/"$ /*  pwd, if empty then file is in a home dir , path should end with "/" */


draw2d(
  user_preamble="set key top right; unset mouse; ",
  terminal  = 'svg,
  file_name = sconcat(path,"en200_2000_e"),
  font_size = 50,
  font = "Liberation Sans", /* https://commons.wikimedia.org/wiki/Help:SVG#Font_substitution_and_fallback_fonts */
  title= "Normal lines to the ellipse ",
  proportional_axes = 'xy, 
  dimensions = [2000,2000],
  xrange = [-5,5],
  yrange = [-5,5],
  ip_grid=[200,200],
  color= blue,
  key = "",
  lines,
  color=black,
  implicit(ellipse, x,-4,4, y,-4,4) 
  
  
  )$
  
  1. Osculating curves: around the Tait-Kneser Theoremby E. Ghys, S. Tabachnikov, V. Timorin

Captions

Normal lines to the ellipse

Items portrayed in this file

depicts

22 June 2019

image/svg+xml

File history

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

Date/TimeThumbnailDimensionsUserComment
current15:50, 22 June 2019Thumbnail for version as of 15:50, 22 June 20192,000 × 2,000 (290 KB)Soul windsurferbetter quality
15:44, 22 June 2019Thumbnail for version as of 15:44, 22 June 20192,000 × 2,000 (250 KB)Soul windsurferUser created page with UploadWizard

The following page uses this file:

Global file usage

The following other wikis use this file:

Metadata