Question concerning Mathematica packages
- To: mathgroup at smc.vnet.net
- Subject: [mg25839] Question concerning Mathematica packages
- From: phoward1 <phoward1 at ic3.ithaca.edu>
- Date: Sat, 28 Oct 2000 01:41:36 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I am having a problem saving a package. Every time I attempt to save the package (using Save as Special, Package Format) I get all these \ that subsequently prevent it from running properly. I was hoping someone could possibly let me know what I'm doing wrong. Thank you Patricia Howard (*Patricia Howard*) BeginPackage["FractalTree`"] PointGenerator::"usage" = "PointGenerator[r1, r2, \[Theta], n] generates a \ list of the end points of the branches in a fractal tree with a right branch \ scaling ratio r1, left branch scaling ratio r2, angle \[Theta] and iteration \ number n." LineGenerator::"usage" = "LineGenerator[r1, r2, \[Theta], n] generates a list \ of lines segments of the branches in a fractal tree with a right branch \ scaling ratio r1, left branch scaling ratio r2, angle \[Theta] and iteration \ number n." FractalTree::"usage" = "FractalTree[r1, r2, \[Theta], n] generates a picture \ of a fractal tree with a right branch scaling ratio r1, left branch scaling \ ratio r2, angle \[Theta] and iteration number n." Begin["Private`"] \!\(PointGenerator[r1_, r2_, \[Theta]_, n_] := Module[{points, temppoints, wR, wL, a, x, y}, (*Local\ variables*) \[IndentingNewLine]points = {{0, 0}, {0, 1}}; (*Enters\ the\ endpoints\ of\ the\ trunk\ into\ a\ list\ *) \[IndentingNewLine]temppoints = {}; (*Creates\ a\ list\ to\ temporarily\ \ store\ points\ in\ later*) \[IndentingNewLine]wL[x_, y_] := {r2\ x\ Cos[\[Theta]] - r2\ y\ Sin[\[Theta]], r2\ x\ Sin[\[Theta]] + r2\ y\ Cos[\[Theta]] + 1}; (*Affine\ transformation\ for\ the\ left\ branches\ *) \[IndentingNewLine]wR[x_, y_] := {r1\ x\ Cos[\(-\[Theta]\)] - r1\ y\ Sin[\(-\[Theta]\)], r1\ x\ Sin[\(-\[Theta]\)] + r1\ y\ Cos[\(-\[Theta]\)] + 1}; (*Affine\ transformation\ for\ the\ right\ branches\ *) \[IndentingNewLine]Do[ (*Begins\ a\ loop\ that\ iterates\ at\ each\ \ branching\ stage*) \[IndentingNewLine]Do[ (*Begins\ a\ loop\ that\ evaluates\ \ the\ end\ points\ of\ the\ branches\ from\ the\ last\ stage\ *) \[IndentingNewLine]a = Length[points] - \((j - 1)\); (*Assigns\ the\ variable\ a\ to\ one\ of\ the\ last\ \ 2\^i\ points\ in\ the\ list\ points*) \[IndentingNewLine]x = points[\([a, 1]\)]; (*Assigns\ the\ variable\ x\ to\ the\ x - coordinate\ of\ the\ point\ a*) \[IndentingNewLine]y = points[\([a, 2]\)]; (*Assigns\ the\ variable\ y\ to\ the\ y - coordinate\ of\ the\ point\ a*) \[IndentingNewLine]temppoints = Append[temppoints, wR[x, y]]; (*Evaluates\ wR\ at\ the\ point\ a\ and\ add\ the\ \ point\ to\ the\ end\ of\ the\ list\ \ temppoints*) \[IndentingNewLine]temppoints = Append[temppoints, wL[x, y]]; (*Evaluates\ wL\ at\ the\ point\ a\ and\ add\ the\ \ point\ to\ the\ end\ of\ the\ list\ temppoints*) \[IndentingNewLine], {j, 1, 2\^i} (*Inner\ Do[]\ loop\ iterator, \ assigns\ j\ to\ 1, 2, ... , 2\^i\ where\ 2\^i\ is\ half\ the\ number\ of\ branches\ at\ stage\ \ i*) \[IndentingNewLine]]; (*Ends\ the\ inner\ Do[]\ loop\ *) \[IndentingNewLine]points = Join[points, temppoints]; (*Adds\ the\ list\ temppoints\ to\ the\ end\ of\ \ the\ list\ points*) \[IndentingNewLine]temppoints = {}; (*Resets\ temppoints\ \ to\ empty*) \[IndentingNewLine], {i, 0, n - 1} (*Outer\ Do[]\ loop\ iterator, \ assigns\ i\ to\ a\ value\ from\ 0\ to\ n - 1\ which\ is\ the\ stage\ of\ the\ tree \((note\ at\ stage\ 1, \ i = 0)\)*) \[IndentingNewLine]]; (*Ends\ outer\ Do[]\ loop\ *) \[IndentingNewLine]Return[ points] (*Assigns\ the\ list\ points\ to\ the\ function\ \ PointGenerator\ for\ later\ use*) \[IndentingNewLine]]\) \!\(LineGenerator[r1_, r2_, \[Theta]_, n_] := Module[{points, connectpoints, stage}, (*Local\ variables*) \[IndentingNewLine]points = PointGenerator[r1, r2, \[Theta], n]; (*Assigns\ the\ variable\ points\ to\ the\ list\ generated\ by\ \ PointGenerator*) \[IndentingNewLine]connectpoints = {Line[{points[\([1]\)], points[\([2]\)]}]}; (*Creates\ a\ list\ connectpoints\ \ containing\ a\ line\ representing\ the\ trunk*) \[IndentingNewLine]Do[ \ (*Begins\ a\ loop\ that\ pairs\ and\ connects\ \ points*) \[IndentingNewLine]stage = 1; (*Assigns\ the\ variable\ stage\ a\ value\ of\ 1, \ note\ stage\ is\ reset\ to\ 1\ at\ every\ iteration\ *) \[IndentingNewLine]While[ (*Begins\ a\ loop\ that\ finds\ the\ stage\ of\ \ a\ particular\ point\ in\ points*) \[IndentingNewLine]k > 2\^stage, (*Condition : \ evaluates\ expression\ while\ k > 2\^stage*) \[IndentingNewLine]stage += 1 (*Adds\ 1\ to\ stage\ if\ the\ condition\ is\ true\ *) \[IndentingNewLine]]; (*Ends\ While[]\ \ loop*) \[IndentingNewLine]connectpoints = Join[connectpoints, (*Adds\ the\ following\ list\ to\ the\ end\ of\ \ the\ list\ connectpoints*) \[IndentingNewLine]{Line[{points[\([k]\)], points[\([k + 2\^\(stage - 1\)]\)]}], (*First\ \(element : \ connects\ the\ point\ in\ postion\ k\ to\ the\ point\ in\ \ position\ k + 2\^\(stage - 1\)\)*) \[IndentingNewLine]Line[{points[\([k]\)], points[\([k + 2\^stage]\)]}]}] (*Second\ \(element : \ connects\ the\ point\ in\ postion\ k\ to\ the\ point\ in\ \ position\ k + 2\^stage\)*) \[IndentingNewLine], {k, 2, 2\^n} (*Do[]\ loop\ iterator, \ assigns\ k\ to\ a\ value\ from\ 2\ to\ 2\^n\ which\ is\ the\ \ position\ in\ the\ list\ points\ of\ the\ starting\ point\ of\ a\ line\ *) \[IndentingNewLine]]; (*End\ Do[]\ loop*) \[IndentingNewLine]Return[ connectpoints] (*Assigns\ the\ list\ connectpoints\ to\ the\ function\ \ LineGenerator\ for\ later\ use*) \[IndentingNewLine]]\) FractalTree[r1_, r2_, \[Theta]_, n_] := Module[{connectpoints},(*Local variables*) connectpoints = LineGenerator[r1, r2, \[Theta], n];(*Assigns the variable connectpoints to the list generated by \ LineGenerator*) Show[Graphics[connectpoints], AspectRatio -> Automatic, PlotRange -> All];(*Graphs the lines in the list connectpoints on one set of axes*) \ ] End[] EndPackage[]