Initial commit

This commit is contained in:
Le Ma
2024-12-03 11:34:51 +13:00
commit b44d0668f7
1381 changed files with 3384 additions and 0 deletions

42
split17.py Normal file
View File

@@ -0,0 +1,42 @@
import matplotlib.pyplot as plt
import numpy as np
# 定义 x 的范围
x = np.linspace(0, 3, 500)
# 初始化 y 为 0
y = np.zeros_like(x)
# 定义Ω形状的关键参数
r = 0.6 # 半圆半径
xc = 1.5 # 圆心 x 坐标
yc = 0.6 # 圆心 y 坐标(上移半圆)
# 定义中间部分的范围(圆弧范围)
circle_mask = (x >= xc - r) & (x <= xc + r)
x_circle = x[circle_mask]
# 计算圆弧顶部的 y 值
y[circle_mask] = yc + np.sqrt(r**2 - (x_circle - xc)**2)
# 定义两侧曲线的范围
left_curve_mask = (x >= 1) & (x < xc - r)
right_curve_mask = (x > xc + r) & (x <= 2)
# 左侧曲线(底部向右偏移)
x_left = x[left_curve_mask]
x_shift = 0.2 # 底部向右偏移的幅度
y[left_curve_mask] = (yc - r) * (1 - ((x_left - (1 + x_shift * (1 - (x_left - 1) / (xc - r - 1)))) / (xc - r - (1 + x_shift)))**2)
# 右侧曲线(保持不变)
x_right = x[right_curve_mask]
y[right_curve_mask] = (yc - r) * (1 - ((x_right - 2) / (xc + r - 2))**2)
# 绘制图形
plt.plot(x, y, linewidth=2)
plt.axhline(0, color='gray', linewidth=0.5, linestyle='--')
plt.title('左侧底部向右偏移的Ω形状')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')
plt.axis('equal') # 确保 x 和 y 轴的比例相同
plt.show()