RE: Translations
- To: mathgroup at smc.vnet.net
- Subject: [mg32468] RE: [mg32448] Translations
- From: "David Park" <djmp at earthlink.net>
- Date: Tue, 22 Jan 2002 03:19:45 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Manuel, Needs["Graphics`Colors`"] Needs["Graphics`Animation`"] tri = Line[{{-4, 4}, {-3, 2}, {-2, -4}, {-4, 4}}]; This translation rule will translate a point, pt, from pt to pt + vec as t goes from 0 to 1. transrule[vec : {_, _}][t_] := pt : {x_?NumericQ, y_?NumericQ} :> pt + t vec This produces one frame of an animation. It is important that all frames have the same plot range, which generally means you have to specify it explicitly. frame[t_] := Show[ Graphics[ {LightCoral, tri, LightSkyBlue, tri /. transrule[{6, 6}][1], Black, tri /. transrule[{6, 6}][t]}], AspectRatio -> Automatic, PlotRange -> {{-5, 6}, {-5, 11}}, Frame -> True, PlotLabel -> "Pure Translation", Background -> Linen, ImageSize -> 500] Finally, this produces and activates the animation. Animate[frame[t], {t, 0, 1, 1/31}] SelectionMove[EvaluationNotebook[], All, GeneratedCell] FrontEndTokenExecute["OpenCloseGroup"] FrontEndTokenExecute["SelectionAnimate"] It is even more fun to do the general isometry. First rotate, pause for 5 frames, and then translate. Often, a good way to view animation is to use the up and down cursor keys to stop it and advance one frame at a time. David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ > From: manuel avalos [mailto:manuel at voicenet.com] To: mathgroup at smc.vnet.net > > Hello > > Perhaps if I state my problem you might suggest a method using > mathematica how it could be accomplished. > How can I translate a graph, say a triangle, in an R2 coordinate system > to another given position on the x y plane showing all the various > stages from the one position to the other? > The triangle was formed by connecting the points (-4,4),(-3,-2) and > (-2,-4) by straight lines...and another triangle was formed by > translating that triangle by (6,6). Suppose you want to move the first > triangle smoothly to the position of the second triangle using, let's > say, a total of 31 frames numbered- 0, 1, 2,...30. How would one go > about generating each frame? > Thanks for whatever > Manuel >