File curves.icn

Summary

###########################################################################

	File:     curves.icn

	Subject:  Procedures to generate points on plain curves

	Author:   Ralph E. Griswold

	Date:     October 1, 1997

###########################################################################

   This file is in the public domain.

###########################################################################

  This file links procedure files that generate traces of points on various
  plain curves.

  The first two parameters determine the defining position of the
  curve:

	x	x coordinate
	y	y coordinate

  The meaning of "definition position" depends on the curve.  In some
  cases it is the position at which plotting starts.  In others, it
  is a "center" for the curve.

  The next arguments vary and generally refer to parameters of the
  curve.  There is no practical way to describe these here.  If they
  are not obvious, the best reference is

	A Catalog of Special Plane Curves, J. Dennis Lawrence,
	Dover Publications, Inc., New York, 1972.

  This book, which is in print at the time of this writing, is a
  marvelous source of information about plane curves and is inexpensive
  as well.

  The trailing parameters give the number of steps and the end points
  (generally in angles) of the curves:
  
	steps	number of points, default varies
	lo	beginning of plotting range, default varies
	hi	end of plotting range, default varies

  Because of floating-point roundoff, the number of steps
  may not be exactly the number specified.

  Note:  Some of the curves may be "upside down" when plotted on
  coordinate systems in which the y axis increases in a downward direction.

  Caution:  Some of these procedures generate very large values
  in portions of their ranges.  These may cause run-time errors when
  used in versions of Icon prior to 8.10.  One work-around is to
  turn on error conversion in such cases.

  Warning:  The procedures that follow have not been tested thoroughly.
  Corrections and additions are most welcome.

  These  procedures are, in fact, probably most useful for the parametric
  equations they contain.

###########################################################################

  Links:  gobject, math, step

###########################################################################
Procedures:
bullet_nose, cardioid, cissoid_diocles, cross_curve, cycloid, deltoid, ellipse, ellipse_evolute, epitrochoid, folium, hippopede, kampyle_exodus, kappa, lemniscate_bernoulli, lemniscate_gerono, limacon_pascal, line, lissajous, nephroid, parabola, piriform, trisectrix_catalan, trisectrix_maclaurin, witch_agnesi

Links:
gobject.icn, math.icn, step.icn

This file is part of the (main) package.

Source code.

Details
Procedures:

bullet_nose(x, y, a, b, steps, lo, hi)


cardioid(x, y, a, steps, lo, hi)


cissoid_diocles(x, y, a, steps, lo, hi)


cross_curve(x, y, a, b, steps, lo, hi)


cycloid(x, y, a, b, steps, lo, hi)


deltoid(x, y, a, steps, lo, hi)


ellipse(x, y, a, b, steps, lo, hi)


ellipse_evolute(x, y, a, b, steps, lo, hi)


epitrochoid(x, y, a, b, h, steps, lo, hi)


folium(x, y, a, b, steps, lo, hi)


hippopede(x, y, a, b, steps, lo, hi)


kampyle_exodus(x, y, a, b, steps, lo, hi)


kappa(x, y, a, b, steps, lo, hi)


lemniscate_bernoulli(x, y, a, steps, lo, hi)


lemniscate_gerono(x, y, a, b, steps, lo, hi)


limacon_pascal(x, y, a, b, steps, lo, hi)


line(x, y, x1, y1, steps)


lissajous(x, y, a, b, r, delta, steps, lo, hi)


nephroid(x, y, a, steps, lo, hi)


parabola(x, y, a, steps, lo, hi)


piriform(x, y, a, b, steps, lo, hi)


trisectrix_catalan(x, y, a, steps, lo, hi)


trisectrix_maclaurin(x, y, a, b, steps, lo, hi)


witch_agnesi(x, y, a, steps, lo, hi)



This page produced by UniDoc on 2021/04/15 @ 23:59:54.