Несколько ListPolarPlots в 3D? по математике

Можно ли построить несколько ListPolarPlots для создания трехмерного эффекта в Mathematica?

Я могу построить несколько полярных графиков, используя ListPolarPlot[{data1, data2, data3}] без каких-либо проблем; но с большим количеством наборов данных трехмерный график лучше отображал бы мои данные, с каждым полярным графиком вдоль третьей оси. Я использовал ListPLot3D, который отлично работает, но мне любопытно посмотреть, смогу ли я сделать то же самое с полярными графиками...

Заранее спасибо!


person user2372443    schedule 26.05.2013    source источник


Ответы (1)


Если вы хотите построить 3D-график, вам сначала понадобятся 3D-данные. Поэтому я предполагаю, что вы действительно имели в виду ListSphericalPlot3D. Если у вас уже есть список ваших точек в сферических координатах, начертить их несложно.

Что мы делаем, так это сначала меняем координаты на «декартовы», а затем рисуем их:

ListSphericalPlotPoints3D[list_List] := ListPointPlot3D[Map[CoordinateTransformData["Spherical" -> "Cartesian","Mapping", #] &,Map[{#[[1]], Mod[#[[2]], \[Pi]], Mod[#[[3]], 2 \[Pi]]} &, list]]];
ListSphericalPlot3D[list_List] := ListPlot3D[Map[CoordinateTransformData["Spherical" -> "Cartesian", "Mapping", #] &, Map[{#[[1]], Mod[#[[2]], \[Pi]], Mod[#[[3]], 2 \[Pi]]} &,list]]];

Мы надеемся, что эти две функции сделают то, о чем вы просите.

Обновление:

Поскольку это преобразование довольно простое, его несложно написать вручную:

ListSphericalPlotPoints3D[list_List] := ListPointPlot3D[Map[{#[[1]] Sin[#[[2]]] Cos[#[[3]]], #[[1]] Sin[#[[2]]] Sin[#[[3]]], #[[1]] Cos[#[[2]]]} &,Map[{#[[1]], Mod[#[[2]], \[Pi]], Mod[#[[3]], 2 \[Pi]]} &, list]]];
ListSphericalPlot3D[list_List] := ListPlot3D[Map[{#[[1]] Sin[#[[2]]] Cos[#[[3]]], #[[1]] Sin[#[[2]]] Sin[#[[3]]], #[[1]] Cos[#[[2]]]} &, Map[{#[[1]], Mod[#[[2]], \[Pi]], Mod[#[[3]], 2 \[Pi]]} &,list]]];
person Ali    schedule 26.05.2013
comment
Спасибо, Али, мне придется обновиться до 9, чтобы запустить его! 7 не имеет CoordinateTransfromData. Еще раз спасибо за ваше время! - person user2372443; 26.05.2013
comment
Выполнить эти преобразования координат несложно. Я отредактирую этот комментарий и добавлю обходной путь. Пожалуйста. - person Ali; 26.05.2013
comment
Не тратьте больше на это свое время, Али, это было только из любопытства, я использовал ListPLot3d для построения трехмерного графика 2-D данных, который прекрасно справляется со своей задачей. Спасибо за вашу помощь .. снова! - person user2372443; 27.05.2013