При построении 3D-графики, как определить угол, который он будет показывать? - PullRequest
0 голосов
/ 21 декабря 2009

Я знаю, что могу после того, как график готов, повернуть его мышью на нужный угол. Теперь я хотел бы знать, как сделать то же самое с помощью кода.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2010

3D-вид наиболее удобно определять с помощью параметров ViewPoint и ViewVertical (Существуют дополнительные параметры: ViewCenter, ViewVector и ViewAngle, но обычно достаточно оставить их на Automatic ).

Так что вы можете сделать, например,

Plot3D[Cos[x^2 + y^2], {x, -3, 3}, {y, -3, 3}, ViewPoint -> {3, 2, 1}]

Чтобы получить хорошие значения для ViewPoint и т. Д., Я определяю функцию Get3DView как

Get3DView[gfx_] := 
  Options[Unevaluated[gfx], {ViewCenter, ViewVector, ViewVertical, ViewPoint}]

Затем вы просто копируете свою графику в Get3DView, чтобы получить параметры:

plotpar = Get3DView[<your graphics pasted here>]

После этого вы можете поместить plotpar в качестве параметров для новых команд построения (обратите внимание на оценку):

Plot3D[Cos[x^2 + y^2], {x, -3, 3}, {y, -3, 3}, Evaluate@plotpar]
1 голос
/ 21 декабря 2009

При втором взгляде ваш титул включает в себя 3d вращение. Для этого вы можете использовать ViewPoint . Пример на вкладке приложений, кажется, то, что вы ищете.

Вы можете использовать функцию ImageRotate .

ImageRotate@Plot[x, {x, 0, 10}] (*rotate 90 degrees counterclockwise*)
ImageRotate[Plot[x, {x, 0, 10}], phi]  (*rotate phi degrees counterclockwise*)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...