DIRECTORY IO; G3dFunction: CEDAR DEFINITIONS ~ BEGIN STREAM: TYPE ~ IO.STREAM; FunctionProc: TYPE ~ PROC [t: REAL] RETURNS [REAL]; LineProc: TYPE ~ PROC [x0, y0, x1, y1: REAL]; MinimizeFunction: PROC [ function: FunctionProc, t0: REAL 0.0, -- minimum abscissa t1: REAL 360.0, -- maximum abscissa logSlope: REAL -1.758121, -- ~ RealFns.Log[10.0, 3.1416/180.0] alpha: REAL 0.35, slopeFac: REAL 0.5, certainFac: REAL 1.0, logEps: REAL -4.0, lineProc: LineProc NIL, report: STREAM NIL] RETURNS [REAL]; MinimizeMonotonic: PROC [ function: FunctionProc, t0: REAL 0.0, -- minimum abscissa t1: REAL 360.0, -- maximum abscissa eps: REAL] -- return if dt < eps RETURNS [REAL]; Gauss: FunctionProc; Spike: FunctionProc; Wyvill: FunctionProc; Poisson: PROC [x, a: REAL] RETURNS [REAL]; Perlin: PROC [x, a: REAL] RETURNS [REAL]; END.  G3dFunction.mesa Copyright 1988, 1992 by Xerox Corporation. All rights reserved. Bloomenthal, July 14, 1992 1:51 pm PDT Definitions A General Univariate Function Minimizer Find the value of t within the interval [t0..t1] that minimizes function[t]. logslope is the log of the maximum slope of the function between t0 and t1; this must be correct or the minimizing algorithm may fail. If lineProc # NIL, then graph the tree of converging intervals. If report # NIL, then make a status report to it at the end of the minimization. See also: the chapter on minimization and unconstrained optimization in Numerical Recipes. Find the value of t within the interval [t0..t1] that minimizes function[t] presuming: f has a single minimum within [t0..t1], and f is monotonic on either side of the minimum. Miscellaneous Functions The normal distribution curve: [Artwork node; type 'Artwork on' to command tool] A second order curve: [Artwork node; type 'Artwork on' to command tool] Wyvill's soft function (1 if x < 0, 0 if x > 0): [Artwork node; type 'Artwork on' to command tool] The poisson curve: axe-ax: [Artwork node; type 'Artwork on' to command tool] Ken's curve, a < 0.5 produces concavity, a > 0.5 produces convexity: [Artwork node; type 'Artwork on' to command tool] ʹeNewlineDelimiter "cedarcode" styleJ e6BJ&JJk  Jbl  Jheadl JJ 3J /''nJJ c'J (J $@JJ J JJJJJJLLKJ:Js.?J APJHzZJJJ 'J (J%JJVVJ+J-bJ InterpressFInterpress/Xerox/3.0 fjkj=k \kFS"L$0Ĕ$00000000000000000Ą0000Ǘ0000000000000000Ą 08000Ǔ000?08000 @00000000 @0@ 0ą$0$000Ǒ8000 @00@ 0000000000 @00@ 000<00000000 @00@ 000000000000 @0@ 000000000000 @00@ 00080000000 @00@ 0000000Ā0Ł0Ɓ0Ē$ @0@ 00000000 @0@ 0000000Ą @0Ł8@ 0ƀ0Ĕ00 00 @000000``0000p0 0<0<0Ą<0Ņ?0ƆĔp000000000$$ 08$8$0$0$$08<8<000¡ĠkgArtwork InterpressBounds:0.0 mm xmin 0.0 mm ymin 117.1222 mm xmax 71.61388 mm ymax 74.4361 mm bigger topLeading 74.4361 mm bigger topIndent 1.411111 mm bigger bottomLeading 0.5 0.3 0.95 backgroundColor the topLeading 6 pt .sub backgroundAscent 3 pt backgroundDescent 4 pt outlineBoxThickness 1 pt outlineBoxBearoff33JbnJFInterpress/Xerox/3.0 fjkj=k ]kFX"F                 <  8  $                     8              (  D Ą ń ƃ Đ   @       @       @ Ā Ł Ɓ$ Ē$   @      @      @    Ą$ Ň Ƅ@ Ĕ <    @      @      @  Ă ń Ƈ@ Đ     @     @     @    Ą@ Ł ƀ Ĕ  @     `    @          ą  Ł8 ` Ɓ$ đ$     0      ` 0    ` 0   88 Ą Ņ<x Ɔ Ĕ      <$$,$ ¡Ġkg Interpress:0.0 mm xmin 0.0 mm ymin 115.0056 mm xmax 71.61388 mm ymax 74.4361 mm bigger topLeading 74.4361 mm bigger topIndent 1.411111 mm bigger bottomLeading 0.5 0.3 0.95 backgroundColor the topLeading 6 pt .sub backgroundAscent 3 pt backgroundDescent 4 pt outlineBoxThickness 1 pt outlineBoxBearoff33J0JFInterpress/Xerox/3.0 fjkj=l  lFS#Lƃ0Đ00p00080008000`0000`0<0Ą0Ń0Ƅ0Ĕ 00000 00000@0000000@0Ā00Ł0Ɓ0Ē00@0 00 0000@0 000000@0Ą 00Ň80Ƅ0Ĕ000@0 000000@0 000000Ą 0Ň8@0ƀ 0Ĕ00000@0 0000000@0 000Ă0ń0Ƈ0Đ@0 0000000@0 000000@0 0Ą0Ł0ƀ0Ĕ000`0000000`000000@0Ą 0Ł0Ƃ 0Ĕ 000`000000`00 0000 00ą(0Ł0Ɓ0đ 0000@000 0000000`000p00Ą0Ņ0Ɔ0Ĕ0000000000$$ 08$8$0$0$$08<8<0000¡Ġkg Interpress:0.0 mm xmin 0.0 mm ymin 117.1222 mm xmax 71.96666 mm ymax 74.78888 mm bigger topLeading 74.78888 mm bigger topIndent 1.411111 mm bigger bottomLeading 0.5 0.3 0.95 backgroundColor the topLeading 6 pt .sub backgroundAscent 3 pt backgroundDescent 4 pt outlineBoxThickness 1 pt outlineBoxBearoffnz33J *uJFInterpress/Xerox/3.0 fjkj=j [jFY"DH0!H0.1000000000000000x0 00 0) 0&!000000000000000x0000$ 0$!00000000000000080@0p0 H0)H0&1000000000000000x0@0p00)H0&10000000000000000(0 H00!0! 00000000000000 0000 H` 000)H`0&100000@0 0000@00@0 00000 H00 @0(@00/y0000@0000000 `0000@00 0 P000"`0"000 0000p000 00<000 ~000 H0 X0 h0)H0&10000000000x00x00 H H  H H  H p X   X   X 0 h      h 0 )H "H ( !H )H ) )H !p&0"0/ !0&0& &0.00¡Ġkg Interpress70.0 mm xmin 0.0 mm ymin 114.3 mm xmax 71.26111 mm ymax 74.08333 mm bigger topLeading 74.08333 mm bigger topIndent 1.411111 mm bigger bottomLeading 0.5 0.3 0.95 backgroundColor the topLeading 6 pt .sub backgroundAscent 3 pt backgroundDescent 4 pt outlineBoxThickness 1 pt outlineBoxBearoff33J )DJFInterpress/Xerox/3.0 fjkj=k \kFS"Kƃ`Đ```````` `@``````< `Ą@`Ń`Ƅ`Ĕ``` `@`````` ``````0`Ā@`Ł`Ɓ`Ē` `` `@````````````` `Ą @`Ň8`Ƅ`Ĕ``0`@````````````` ``Ą `Ň8`ƀ `Ĕ``````````````0`@````Ă`ń `Ƈ`Đ```0`@``````````` ```Ą`Ł`ƀ0`Ĕ````0````` ``` ``````Ą`Ł0`Ƃ`Ĕ ` `0`@`````````````````ą( `Ł0`Ɓ`đ````` `p```p```p``````Ą`Ņ`Ɔ>`Ĕ``````````$$ `8$8$`$`$$`8<8<```¡Ġkg Interpress:0.0 mm xmin 0.0 mm ymin 116.7694 mm xmax 71.61388 mm ymax 74.4361 mm bigger topLeading 74.4361 mm bigger topIndent 1.411111 mm bigger bottomLeading 0.5 0.3 0.95 backgroundColor the topLeading 6 pt .sub backgroundAscent 3 pt backgroundDescent 4 pt outlineBoxThickness 1 pt outlineBoxBearoff33JJJJJn