Mathematica - Specific shading vs global - Mesh or ListPlot?

  • #1
3
0
Hi, I am trying to shade two portions of the polygon defined by the dotted line in this code. The Mesh and MeshFunction cmds seem to allot global shading only. What is the best tool to shade, say half of the aforementioned polygon?

Function[{LtMarg, BotMarg, RtMarg, HVal, DVal, rVal},
Graphics[{Mesh -> True, EdgeForm[{Thick, Blue}], FaceForm[Pink],
Polygon[{{0.5, 0}, {1/2,
HVal - 1/2}, {(HVal - DVal + 1)/2, (DVal + HVal - 1)/
2}, {(HVal - DVal + 1)/2, 0}}], EdgeForm[{Thick, Green}],
White, Rectangle[], Blue, Text[0, {0.01, BotMarg}],
Text[0, {LtMarg, 0}], Text[l, {LtMarg, 1}], Text[t, {1, BotMarg}],
Line[{{0, HVal}, {0.5, HVal - 0.5}, {1, HVal}}],
Line[{{0.5, HVal - 0.5}, {0.5, 0}}],
Line[{{0, DVal}, {0.5, DVal - 0.5}, {1, DVal}}],
Text[Vh, {LtMarg, HVal}], Text[Vd, {LtMarg, DVal}],
Text[Vh, {RtMarg, HVal}], Text[Vd, {RtMarg, DVal}], Dotted,
Line[{{(DVal - HVal + 1)/2,
0}, {(DVal - HVal + 1)/2, (DVal + HVal - 1)/2}, {1/2,
HVal - 1/2}, {(HVal - DVal + 1)/2, (DVal + HVal - 1)/
2}, {(HVal - DVal + 1)/2,
0}}]}]][-0.03, -0.03, 1.035, 0.8, 0.65, 0.1]
 

Answers and Replies

  • #2
I would just put another polygon over it, with some transparency in both the poly and its edges.

Code:
Function[{LtMarg, BotMarg, RtMarg, HVal, DVal, rVal}, 
  Graphics[{Mesh -> True, EdgeForm[{Thick, Blue}], FaceForm[Pink], 
    Polygon[{{0.5, 0}, {1/2, 
       HVal - 1/2}, {(HVal - DVal + 1)/2, (DVal + HVal - 1)/
        2}, {(HVal - DVal + 1)/2, 0}}], EdgeForm[{Thick, Green}], 
    White, Rectangle[], Blue, Text[0, {0.01, BotMarg}], 
    Text[0, {LtMarg, 0}], Text[l, {LtMarg, 1}], Text[t, {1, BotMarg}],
     Line[{{0, HVal}, {0.5, HVal - 0.5}, {1, HVal}}], 
    Line[{{0.5, HVal - 0.5}, {0.5, 0}}], 
    Line[{{0, DVal}, {0.5, DVal - 0.5}, {1, DVal}}], 
    Text[Vh, {LtMarg, HVal}], Text[Vd, {LtMarg, DVal}], 
    Text[Vh, {RtMarg, HVal}], Text[Vd, {RtMarg, DVal}], Dotted, 
    Line[{{(DVal - HVal + 1)/2, 
       0}, {(DVal - HVal + 1)/2, (DVal + HVal - 1)/2}, {1/2, 
       HVal - 1/2}, {(HVal - DVal + 1)/2, (DVal + HVal - 1)/
        2}, {(HVal - DVal + 1)/2, 0}}], Opacity[0.2], 
    EdgeForm[{Transparent}], 
    Polygon[{{(DVal - HVal + 1)/2, 
       0}, {(DVal - HVal + 1)/2, (DVal + HVal - 1)/2}, {1/2, 
       HVal - 1/2}, {1/2, 0}}]}]][-0.03, -0.03, 1.035, 0.8, 0.65, 0.1]
 
  • #3
Ah! Thank you! That is what I ultimately needed to do, and was trying to make into a more difficult task!
 

Suggested for: Mathematica - Specific shading vs global - Mesh or ListPlot?

Replies
1
Views
175
Replies
1
Views
651
Replies
2
Views
655
Replies
1
Views
492
Replies
1
Views
514
Replies
6
Views
540
Replies
1
Views
793
Replies
1
Views
795
Replies
1
Views
560
Back
Top