Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sun = {"http://cdn1.iconfinder.com/data/icons/iconsland-weather/PNG/\
- 128x128/Sunny.png",
- "http://cdn1.iconfinder.com/data/icons/iconsland-weather/PNG/\
- 128x128/Overcast.png"};
- ice = {"http://cdn1.iconfinder.com/data/icons/joker-circus-by-\
- joker2011-d3g8h6s/128/ice_cream.png"};
- umbrella = \
- {"http://cdn1.iconfinder.com/data/icons/nuvola2/128x128/apps/colors.\
- png"};
- beach = {"http://cdn1.iconfinder.com/data/icons/vacation/128/beach_\
- chair.png"};
- cinema = {"http://cdn1.iconfinder.com/data/icons/i_love_icons__by_\
- svengraph-d2yk60n/128/cinema.png"};
- RandPick[x_, pos_] := Module[{},
- (* *)
- If[x == pos,
- If[Random[] < 0.8,
- 1,
- 0
- ]
- ,
- If[Random[] < 0.8,
- 0,
- 1
- ]
- ]
- ];
- NodeImg[node_] := NodeImg[node] = Import[node[[1]]];
- NodeImg[node_, i_] :=
- Darker[NodeImg[node], 0.7 (1 - i) + Random[] 0.2];
- data = Map[({#, RandPick[#, 1], RandPick[#, 0], RandPick[#, 1],
- RandPick[#, 0]}) &, RandomChoice[{0, 1}, 100]];
- hyp1[d_] := Module[{i, u, b, c},
- {i, u, b, c} = d[[2 ;;]];
- Graphics[
- {
- (* edges *)
- Blue,
- Arrow[{{-1, 1}, {0.8, 1}}],
- Arrow[{{-1, -1}, {0.8, -1}}],
- Red,
- Arrow[{{-1, -1}, {-1, 0.8}}],
- Arrow[{{1, -1}, {1, 0.8}}],
- Arrow[{{-1, -1}, {0.8, 0.8}}],
- Arrow[{{-1, 1}, {0.8, -0.8}}],
- (* nodes *)
- Inset[NodeImg[ice, i], {1, 1}, {Center, Center}, 0.5],
- Inset[NodeImg[umbrella, u], {1, -1}, {Center, Center}, 0.5],
- Inset[NodeImg[beach, b], {-1, 1}, {Center, Center}, 0.5],
- Inset[NodeImg[cinema, c], {-1, -1}, {Center, Center}, 0.5]
- }
- , PlotRange -> 1.5
- ]];
- hyp2[d_] := Module[{i, u, b, c},
- {i, u, b, c} = d[[2 ;;]];
- Graphics[
- {
- (* edges *)
- Blue,
- Arrow[{{0, 0}, {-0.8, 0.8}}],
- Arrow[{{0, 0}, {0.8, 0.8}}],
- Red,
- Arrow[{{0, 0}, {-0.8, -0.8}}],
- Arrow[{{0, 0}, {0.8, -0.8}}],
- (* nodes *)
- Inset[NodeImg[If[d[[1]] == 0, sun, sun[[2 ;;]]]], {0,
- 0}, {Center, Center}, 0.7],
- Inset[NodeImg[ice, i], {1, 1}, {Center, Center}, 0.5],
- Inset[NodeImg[umbrella, u], {1, -1}, {Center, Center}, 0.5],
- Inset[NodeImg[beach, b], {-1, 1}, {Center, Center}, 0.5],
- Inset[NodeImg[cinema, c], {-1, -1}, {Center, Center}, 0.5]
- }
- , PlotRange -> 1.5
- ]];
- Manipulate[
- GraphicsRow[{hyp1[data[[i]]], hyp2[data[[i]]]},
- ImageSize -> 400], {i, 1, 50, 1}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement