I learnt from a relevant question that we can click on the plus sign of the Manipulate output, and choose "Add to Bookmarks" to store different set of values of controls, so that one can retrieve their combinations later. However, if the cell is reevaluated, these bookmarks will be lost. To handle this, one can click on the "Paste bookmarks" to get those different sets of controls values as a list, which can be added as options of the Manipulate[] block. In this way, these bookmarks are stored even if one reevaluate a certain block.

However, in my case, the Manipulate[] function involves Graphics3D[] output. Before I knew the Bookmark function, I would make several copies (cells) of the same Manipulate[] function, then adjust the controls and view of each Manipulate[] function individually, then use dynamic[] to get their view info and manually add them into the options of Graphics3[] for each Manipulate[].

However, if I use only one Manipulate[] block together with the Bookmark function, since the view info for each individual bookmark are different, I can't find an easy way to assign these view data. Hence, these info can't be maintained if I re-evaluate the Manipulate cell.

So is there anyway to cope with this issue?

  • $\begingroup$ "Paste bookmarks" writes the book marks in a new cell. You could then edit this cell, e.g.: "bm= {...}" and add to the "Manipulate": "Bookmarks->bm" $\endgroup$ Oct 27, 2021 at 8:07
  • $\begingroup$ @DanielHuber, yes, that's what I'm already aware of; what I'm looking for is a way to also maintain the viewpoint and viewvertial of Graphics3D[] within the Manipulate[] $\endgroup$
    – larry
    Oct 27, 2021 at 11:13
  • $\begingroup$ maybe something like Manipulate[ Graphics3D[{Cylinder[]}, ViewPoint -> Dynamic[vp], PlotLabel -> Dynamic[vp]], {{vp, 1. {Pi, Pi/2, 2}}, None}]? $\endgroup$
    – kglr
    Oct 27, 2021 at 15:54
  • $\begingroup$ @kglr, this does work, thanks! $\endgroup$
    – larry
    Oct 28, 2021 at 8:35


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.