编辑代码

import numpy as np
import matplotlib.pyplot as plt

# 获取生日日期
def generate_crystal(birthday):
    # 通过日期计算一些参数
    day = birthday.day
    month = birthday.month
    year = birthday.year

    # 计算图案的对称性
    angles = np.linspace(0, 2 * np.pi, 360)
    radii = np.abs(np.sin(angles * (day / 31)) * np.cos(angles * (month / 12)) * (year % 100 / 100))

    # 创建一个极坐标图
    fig, ax = plt.subplots(subplot_kw={'projection': 'polar'})
    ax.plot(angles, radii, color='b', lw=2)

    ax.set_title(f"Crystal Pattern for Birthday: {birthday.strftime('%Y-%m-%d')}")
    ax.set_ylim(0, 1)
    
    # 显示图案
    plt.show()

# 例子:输入生日
from datetime import datetime
birthday_input = datetime(1990, 7, 15)  # 请替换成需要的生日
generate_crystal(birthday_input)