Re: Color according to concavity
- To: mathgroup at smc.vnet.net
- Subject: [mg128867] Re: Color according to concavity
- From: "djmpark" <djmpark at comcast.net>
- Date: Sat, 1 Dec 2012 04:34:30 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20121129110446.BF9AD688F@smc.vnet.net> <16863931.66693.1354273348933.JavaMail.root@m06>
Bob Hanlon got the trick by setting ColorFunctionScaling to False. But one
thing I notice is that the curve no longer has antialiasing.
I don't know if the following qualifies as brute force, but it is rather
intuitively simple with Presentations and one obtains better looking curves
with antialiasing.
<< Presentations`
f[x_] := x^2 - x^3 + 10 x
Draw2D[
{Red, Draw[f[x], {x, -5, 5}, RegionFunction -> (f''[#] > 0 &)],
Blue, Draw[f[x], {x, -5, 5}, RegionFunction -> (f''[#] < 0 &)]},
Frame -> True, AspectRatio -> 1/2]
For Bob Hanlon's example:
g[x_] := Sin[x] Cos[2 x]
Draw2D[
{Red, Draw[g[x], {x, -5, 5}, RegionFunction -> (g''[#] > 0 &)],
Blue, Draw[g[x], {x, -5, 5}, RegionFunction -> (g''[#] < 0 &)]},
Frame -> True, AspectRatio -> 1/GoldenRatio]
Or do it with a Show.
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/index.html
From: Murray Eisenberg [mailto:murray at math.umass.edu]
On Nov 29, 2012, at 6:04 AM, Sergio Miguel Terrazas Porras
<sterraza at uacj.mx> wrote:
>
> I want to plot a function with the color of the parts of the curve
according to concavity, say Red when concve down an blue when concave up.
>
> I can do it by brute force, finding whwn the second derivative is cero,
and then finding the sign of it in the different intervals, etc. This for
particular examples.
>
> But, is there a way to use the second derivative as part of a
ColorFunction, or something like that?
One might think the following would work, but it doesn't. (The color
erroneously remains constant after the local minimum.)
f[x_] := x^2 - x^3 + 10 x
Plot[f[x], {x, -5, 5},
ColorFunction -> Function[{x, y}, If[f''[x] < 0, Red, Blue]]
]
---
Murray Eisenberg
murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2838 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305