I would like to display some bond lengths, bond angles, and torsion angles of a molecule with MoleculePlot3D.

For the example

mol = Molecule["hydrogenperoxide"];

I would like to obtain something like the following figures:

enter image description here

enter image description here

enter image description here

  • 1
    $\begingroup$ You can use Show[MoleculePlot3D[mol], Graphics3D[{Text[<your text>, <coordinates>]}]]. You just need to compute the coordinates you want to place the text at. $\endgroup$
    – Jason B.
    Nov 5 '21 at 16:17
  • $\begingroup$ @JasonB. Thank you. I have updated my question with the figures that I would like to generate. $\endgroup$
    – TobiR
    Nov 5 '21 at 16:35
  • $\begingroup$ Which part are you struggling with? Computing the planes/lines to display or actually displaying them as Graphics3D objects? $\endgroup$
    – b3m2a1
    Nov 5 '21 at 18:21
  • $\begingroup$ @b3m2a1 I can calculate the distances and angles, so they can be assumed to be known. $\endgroup$
    – TobiR
    Nov 5 '21 at 18:27
  • 2
    $\begingroup$ Then just add a InfintePlane from the normals needed for the dihedral angle {Dashed, Line[{...}]} for the bond distance line, and use this mathematica.stackexchange.com/questions/10957/… for the arcs for the angles. Then layer on @JasonB.'s comment for the text labels and you're done $\endgroup$
    – b3m2a1
    Nov 5 '21 at 18:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.