Sto lavorando a un piccolo strumento di grafica molecolare per la visualizzazione di molecole in stile palla e bastone. Ho problemi a gestire l'algebra lineare per posizionare i due legami nei doppi legami. La mia algebra lineare è, purtroppo, molto debole. Riesco a seguire la notazione ma ho difficoltà a lavorare a modo mio attraverso l'algebra logica.
Se sto complicando eccessivamente questo in modo significativo, apprezzerei alcune indicazioni su come farlo. Ecco il mio lavoro fino ad ora:
Al momento ho le coordinate atomiche di ogni atomo. Tutti gli atomi di cui sopra si trovano in un piano a causa della natura $ sp ^ 2 $ dell'atomo $ i $, sebbene l'orientamento del piano sia arbitrario.
$ \ textbf i $, $ \ textbf j $ e $ \ textbf k $ sono coordinate atomiche e $ \ textbf a $ e $ \ textbf b $ sono vettori tra di loro.
L'orientamento del doppio legame deve significare che entrambe le linee nel doppio bond sono posizionati nel piano e ho quantificato l'aereo come:
$ \ textbf {a} \ times \ textbf {b} \ cdot (\ textbf {r} - \ textbf {r} _0 ) = 0 $
dove $ \ textbf r $ è un qualsiasi vettore nel piano e $ \ textbf {r} _0 $ è un qualsiasi altro punto nel piano.
Posso dico anche che i punti che cerco su ciascun atomo formano vettori con il centro dei rispettivi atomi a $ 90 ^ \ text {o} $ a $ \ textbf b $, e che il raggio in cui sono posizionati questi punti è vincolato un valore costante (e quindi anche la lunghezza di detto vettore). Se chiamiamo questo vettore $ \ textbf l $ abbiamo quindi:
$ (\ textbf {a} \ times \ textbf {b}) \ cdot (\ textbf {l} - \ textbf {i} ) = 0 $
$ | \ textbf {l} | = \ text {const}. $
$ \ textbf {l} \ cdot \ textbf {b} = 0 $
dove $ \ textbf {a} $, $ \ textbf {b} $ e $ \ text {i} $ sono tutte cose che sono numericamente disponibili per me.
Mi sembra che, sulla base di vincoli geometrici, queste relazioni algebriche siano sufficienti per trovare solo i 4 punti che voglio. Ma il mio io amatoriale non ha idea di come farlo.