|
このファイルの ベクター画像 (SVG) が利用できます。 使う目的に対し、元画像よりもSVGがより優れている場合、SVG画像を使用して下さい。
|
|
概要
Mathematica Code
This code does not require any modules to be loaded. It uses Chris Hill's Anti-aliasing code.
gr = ParametricPlot3D[
{Sqrt[u]Cos[v], Sqrt[u]Sin[v], u, {EdgeForm[AbsoluteThickness[4]]}},
{u, 0, 1},
{v, 0, 2π},
BoxRatios -> {1, 1, 0.8},
PlotPoints -> {10, 50},
Ticks -> False,
Axes -> False,
Boxed -> False,
ImageSize -> 800];
aa[gr_] := Module[{siz, kersiz, ker, dat, as, ave, is, ar},
is = ImageSize /. Options[gr, ImageSize];
ar = AspectRatio /. Options[gr, AspectRatio];
If[! NumberQ[is], is = 288];
kersiz = 4;
img = ImportString[ExportString[gr, PNG, ImageSize -> (is kersiz)], PNG];
siz = Reverse@Dimensions[img[[1, 1]]][[{1, 2}]];
ker = Table[N[1/kersiz^2], {kersiz}, {kersiz}];
dat = N[img[[1, 1]]];
as = Dimensions[dat];
ave = Partition[Transpose[Flatten[
ListConvolve[ker, dat[[All, All, #]]]] & /@ Range[as[[3]]]],
as[[2]] - kersiz + 1];
ave = Take[ave, Sequence @@ ({1, Dimensions[ave][[#]], kersiz} & /@ Range[
Length[Dimensions[ave]] - 1])];
Show[Graphics[Raster[ave, {{0, 0},
siz/kersiz}, {0, 255}, ColorFunction -> RGBColor]], PlotRange -> \
{{0, siz[[1]]/kersiz}, {0, siz[[2]]/kersiz}}, ImageSize -> is, AspectRatio ->
ar]
]
finalgraphic = aa[gr]