Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data = Import["http://mi.eng.cam.ac.uk/~mh521/js/data.js", "Text"];
- x = Select[ToExpression /@ (StringSplit[data, ","][[8 ;; -2]]),
- NumberQ];
- ps = Transpose[{Range[Length[x]], x}];
- Needs["ComputationalGeometry`"];
- ps = Table[ps[[i]], {i, 1, Length[ps], Floor[Length[ps]/500]}];
- dt = DelaunayTriangulation[ps];
- toEdges[{m_, ns_List}] := Map[{m, ns[[#]]} &, Range[Length[ns]]];
- AdjToTriangles[adj_List] :=
- Module[{verts = Union[Flatten[adj]], sides, Side},
- SetAttributes[Side, Orderless];
- sides =
- Union[Side @@@
- Flatten[Distribute[#, List] & /@ Transpose[{verts, adj}], 1]];
- ReplaceList[
- sides, {___, Side[i_, j_], ___, Side[i_, k_], ___,
- Side[j_, k_], ___} -> {i, j, k}]];
- edges = Union[Sort /@ Flatten[toEdges /@ dt, 1]];
- triangles = AdjToTriangles[edges];
- poly = DelaunayTriangulation[ps];
- toTriangles[{m_, ns_List}] :=
- Map[{m, ns[[#]], ns[[Mod[# + 1, Length[ns], 1]]]} &,
- Range[Length[ns]]];
- triangles = Union[Sort /@ Flatten[toTriangles /@ poly, 1]];
- Graphics[{
- GraphicsComplex[ps,
- Table[
- With[{p = triangles[[j]],
- col = ColorData["StarryNightColors"][(*j/Length[poly]*)
- RandomReal[]]},
- {
- Opacity[
- Mod[RandomVariate[NormalDistribution[j/Length@triangles, 0.1]],
- 1]],
- col,
- Polygon[p]
- }
- ]
- ,
- {j, Length@triangles}]
- ]
- }, PlotRange -> All, AspectRatio -> 0.618]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement