"""Spatial mirror model. Run from _media. Tested: Python 3.14, matplotlib 3.10.7, numpy 2.3.5. Dimensionless point substituents, not measured molecular coordinates. """ from pathlib import Path import json import matplotlib.pyplot as plt import numpy as np V = np.array([[1, 1, 1], [1, -1, -1], [-1, 1, -1], [-1, -1, 1]], float) S = np.diag([-1., 1., 1.]) COLORS = ['#bb4a24', '#08699b', '#6e4096', '#237e43'] def volume6(points): return np.linalg.det((points[:3] - points[3]).T) def draw(ax, points, title): ax.set_proj_type('ortho') ax.view_init(elev=22, azim=-90) for i, p in enumerate(points): ax.plot([0, p[0]], [0, p[1]], [0, p[2]], color='#666666', lw=2.5, ls='--' if p[1] > 0 else '-') ax.scatter(*p, s=620, color=COLORS[i], edgecolors='white', linewidths=1.5, depthshade=False) ax.text(*p, 'ABCD'[i], ha='center', va='center', color='white', fontsize=16, fontweight='bold', zorder=100) ax.scatter(0, 0, 0, s=210, color='#444444', depthshade=False) ax.text(0, 0, .28, 'X', ha='center', fontsize=12) ax.set(xlim=(-1.7, 1.7), ylim=(-1.7, 1.7), zlim=(-1.7, 1.7)) ax.set_box_aspect((1, 1, 1)) ax.set_axis_off() ax.set_title(title, fontsize=15, pad=-3) def main(): mirror = V @ S.T delta, delta_mirror = volume6(V), volume6(mirror) assert np.isclose(delta, 16) and np.isclose(delta_mirror, -16) assert np.isclose(np.linalg.det(S), -1) assert np.allclose(V @ V.T, mirror @ mirror.T) fig = plt.figure(figsize=(9, 4.8), facecolor='white') draw(fig.add_subplot(121, projection='3d'), V, 'Four distinct groups') draw(fig.add_subplot(122, projection='3d'), mirror, 'Spatial mirror image') fig.subplots_adjust(left=.02, right=.98, bottom=.22, top=.84, wspace=.12) fig.suptitle('A mirror reverses the labelled tetrahedron', fontsize=18, y=.96) fig.add_artist(plt.Line2D([.5, .5], [.27, .78], transform=fig.transFigure, color='#93b6c7', lw=3, ls='--')) fig.text(.5, .81, 'mirror: x → −x', ha='center', fontsize=12, bbox=dict(facecolor='white', edgecolor='none', pad=3)) fig.text(.26, .19, 'Δ = +16', ha='center', fontsize=15) fig.text(.74, .19, 'Δ = −16', ha='center', fontsize=15) fig.text(.5, .105, 'Every spatial rotation preserves Δ. These mirror forms cannot superpose.', ha='center', fontsize=12) fig.text(.5, .055, 'Point substituents • dashed bonds: farther side (y > 0) • same camera in both panels', ha='center', fontsize=10, color='#555555') fig.savefig(Path(__file__).stem + '.png', dpi=120, facecolor='white') plt.close(fig) print(json.dumps({'determinants': [delta, delta_mirror], 'mirror_det': -1, 'dimensions': [1080, 576]})) if __name__ == '__main__': main()