Estructuras cristalinas en la web
Ayer estuve hablando con un compañero de un mineral, de su rareza y de su estructura. Por la tarde, quise ampliar la información que le había dado. Una de las cosas que quería mostrarle, que no pude hacerlo mientras hablábamos en un pasillo, era la estructura de ese mineral. ¿Cómo podía enseñársela?
La opción más sencilla era enviarle el link de la ficha del mineral en mindat.org y que viese allí la estructura: https://www.mindat.org/min-1951.html#autoanchor10. Pero esta era la opción fácil y a mí siempre me gusta complicarme la vida. Además, me dije: ¿y si quisiese mostrar esa estructura en un blog? Esta opción no me sirve.
Decidí utilizar la “cuenta de la vieja”, versión informática, es decir, utilizar los programas ya conocidos para tratar de hacer un pastiche que pudiese funcionar. Así que abrí el archivo .cif en Vesta y lo guarde en formato .pdb. Este fichero lo abrí en Blender para exportarlo como .obj, que abrí y guardé de nuevo como .obj en 3D builder. Este último archivo fue el que importé en FreeCAD para exportar el modelo en formato .html, con la estructura que quería mostrar. El problema de este modelo, como podéis ver, es que no se puede hacer gran cosa con él. Solo rotar y hacer zoom. Como quería enseñarle las capas de Mg que hay en la estructura de la huntita hice una superestructura de 2x2x2 celdas unidad, pero no se muestra la celda unidad, ni se pueden seleccionar los átomos, ni cambiar sus tamaños. Además, este método hace que las estructuras se carguen muy lentamente.
Por casualidad, encontré 3Dmol, pero está pensado para moléculas y tiene algunas carencias (o no he sabido encontrarlas, porque supera mis escasos conocimientos informáticos). Lo básico es muy fácil de hacer, os dejo aquí el código que he utilizado yo:
<script src="https://3Dmol.org/build/3Dmol-min.js"></script>
<script src="https://3Dmol.org/build/3Dmol.ui-min.js"></script>
<div style="height: 400px; width: 400px; position: relative;" class='viewer_3Dmoljs' data-href='https://cpimentelguerra.com/huntite/huntite3.xyz' data-type='xyz' data-backgroundcolor='0xffffff' data-style='stick;sphere:radius~0.6' data-ui='true'></div>
Y debajo podéis ver el modelo creado. Sin embargo, no permite mostrar la celda unidad de la estructura, ni multiplicar el número de celdas unidad, tampoco permite seleccionar los átomos. Lo bueno de este modelo comparado con el que creé en FreeCAD es que es mucho más rápido de hacer, pesa menos y permite cambiar el formato de visualización.
Ahora estoy investigando como utilizar JSmol, que es el software que utilizan en Mindat. En principio hace falta instalar JSmol en un servidor propio, algo que no tengo y no me interesa, pero creo que se podría hacer algo similar a como se utiliza 3Dmol. Tendré que seguir buscando como hacerlo, porque es la opción que más me interesa, ya que es la más completa (se puede mostrar información sobre los átomos, aumentar el número de celdas unidad mostradas, modificar el estilo, medir distancias, etc.). Sin embargo, me quedan todavía bastantes pruebas, porque hasta el momento no he logrado hacer que funcionen los archivos web en local, pero todo se andará. Espero poder mostraros resultados pronto.
Y como siempre, los hashtags de rigor:
#Ciencias #Cristales #Estructuras #Minerales
Si te ha gustado esta entrada puedes enviarme tus comentarios en Mastodon: @doclomieu@fediscience.org
Puedes seguir este blog desde cualquier red del fediverso o mediante RSS.