MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: polarplot with arrow bearing tickmarks

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127253] Re: polarplot with arrow bearing tickmarks
  • From: "djmpark" <djmpark at comcast.net>
  • Date: Wed, 11 Jul 2012 18:21:11 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <jt8vhd$k3k$1@smc.vnet.net> <12016576.18407.1341987727388.JavaMail.root@m06>

I still can't figure out what the original poster actually wants.
Nevertheless, Elkins' construction could be done more easily in
Presentations using the free standing XTickLine and a postfix rotation. You
just draw one thing after another.

<< Presentations`

Draw2D[
 {(* Polar Curve *)
  {Red,
   PolarDraw[
    1/(10*Sin[t]^4 + -1*Cos[t]^2*Sin[t]^2 + 0.1*Cos[t]^4 +
       5*Cos[t]^2*Sin[t]^2), {t, 0, 2*Pi}]},
  (* Tickline with Arrow *)
  {XTickLine[{0, 10, 0}, {0, 10}, {0, 10, 1}, 1,
     XLabTickSpecs -> {0.04, 0.`}],
    Arrowheads[0.04], Arrow[{{0, 0}, {10, 0}}]} //
   RotateOp[30 Degree, {0, 0}]},
 Frame -> True,
 PlotRange -> All
 ]


David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/index.html




From: Alexander Elkins [mailto:alexander_elkins at hotmail.com]


(* Some clues to drawing tick marks can be had by examining the output of
InputForm[FullGraphics[graphics]] and FullAxes[graphics]. *)

(* (1) Drawback with this method is Scaled[0.958] for the Inset element
which is based on getting the commented-out Circle[{0,0},10]'s to align by
guessing at the value 0.958 *)

PolarPlot[
1/(10*Sin[t]^4 + -1*Cos[t]^2*Sin[t]^2 + 0.1*Cos[t]^4 + 5*Cos[t]^2*Sin[t]^2),
{t, 0, 2*Pi}, PlotRange -> All, PlotStyle -> {{Red, AbsoluteThickness[4]}},
Ticks -> None, Epilog -> {(*Circle[{0,0},10],*)
Inset[Graphics[{(*Circle[{0,0},10],*)Arrowheads[0.04*2],
Arrow[{{0, 0 }, {10, 0}}]}, Axes -> {True, False}, AspectRatio -> 2,
PlotRange -> {{0, 10}, {-10, 10}}], {0, 0}, {0, 0}, Scaled[0.958], {Cos[#],
Sin[#]} &[30 =B0]]}]

(* (2) Here is a roll your own tick marks method which matches closely to
the output of (1) above *)

tl = 0.05; PolarPlot[
1/(10*Sin[t]^4 + -1*Cos[t]^2*Sin[t]^2 + 0.1*Cos[t]^4 + 5*Cos[t]^2*Sin[t]^2),
{t, 0, 2*Pi}, PlotRange -> All, PlotStyle -> {{Red, AbsoluteThickness[4]}},
Ticks -> None, Epilog -> GeometricTransformation[{Arrow[{{0, 0}, {10, 0}}],
Line[{{#, 0}, {#,
Piecewise[{{4 tl, # == 0}, {3 tl, # == 1}}, 2 tl] &[Mod[#, 2]]}} & /@
FindDivisions[{0, 10}, 20]], Text[Style[#, FontFamily -> "Times"], {#,
-1/8}, {0, 1}] & /@ Range[0, 10, 2]}, RotationTransform[30 =B0]]]

Hope this helps...

"van zano" <L.Balzano at gmail.com> wrote in message
news:jt8vhd$k3k$1 at smc.vnet.net...
> dear all,
> I would like to decorate this polarplot with an arrow that starts at
> the
origin and moves outwards at a certain angle (phi). it would be great if the
arrow could also have tickmarks.
> does anyone have a solution?
>
> PolarPlot[
>  1/(10*Sin[t]^4 + -1*Cos[t]^2*Sin[t]^2 + 0.1*Cos[t]^4 +
>     5*Cos[t]^2*Sin[t]^2), {t, 0, 2*Pi},
>   PlotRange -> All,
>  PlotStyle -> {{Red, AbsoluteThickness[4]}}]
>
> thanks! L
>






  • Prev by Date: Re: Separating square roots
  • Next by Date: Re: How to write code for Plotting Polar Coordinates in r and theta ?
  • Previous by thread: Re: polarplot with arrow bearing tickmarks
  • Next by thread: Text and picture side by side