craiyon logo

A black and white diagram titled 'Geocentric Orbit of Verius' showing multiple intersecting orbital paths around a central 'Earth'.

A black and white diagram titled 'Geocentric Orbit of Verius' showing multiple intersecting orbital paths around a central 'Earth'.

import numpy as np import matplotlib.pyplot as plt # === Orbital constants === earth_period = 365.25 venus_period = 224.7 venus_radius = 0.723 # Venus orbit relative to Earth years = 8 steps = 10000 total_days = years * earth_period # === Time and angular velocity === t = np.linspace(0, total_days, steps) omega_earth = 2 * np.pi / earth_period omega_venus = 2 * np.pi / venus_period # === Planet positions === earth_x = np.cos(omega_earth * t) earth_y = np.sin(omega_earth * t) venus_x = venus_radius * np.cos(omega_venus * t) venus_y = venus_radius * np.sin(omega_venus * t) # === Geocentric (Venus from Earth) === vx = venus_x - earth_x vy = venus_y - earth_y # === Plot setup === fig, ax = plt.subplots(figsize=(8, 8)) ax.set_aspect('equal') ax.set_facecolor('white') ax.axis('off') # === Draw Rose of Venus path === ax.plot(vx, vy, color='black', linewidth=0.8) # === Add diamond-style "facet junctions" === # Sample every loop apex (5 major petals) num_petals = 5 interval = int(steps / num_petals) for i in range(0, steps, interval): ax.plot([0, vx[i]], [0, vy[i]], color='black', linewidth=1) # === Optional: draw more "facet lines" between intersection points === # Connect every other sampled point for star-like geometry points = [(vx[i], vy[i]) for i in range(0, steps, interval)] n = len(points) for i in range(n): for j in range(i+1, n): ax.plot([points[i][0], points[j][0]], [points[i][1], points[j][1]], color='gray', linewidth=0.5, linestyle='dotted') # === Draw bounding circle See more