곡면의 내재적 기하학, 평행한 벡터장은 develope?Math/Reference2025. 7. 14. 10:25
Table of Contents
반응형
# Full code: Plot a vector field along a parallel of the unit sphere
# where each vector in the tangent plane is oriented to point toward the north pole
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Constants
phi = np.pi / 3 # colatitude
theta = np.linspace(0, 2 * np.pi, 200)
skip = 10
# Parallel circle on sphere
x = np.sin(phi) * np.cos(theta)
y = np.sin(phi) * np.sin(theta)
z = np.full_like(theta, np.cos(phi))
# Normal vectors at each point
points = np.stack((x, y, z), axis=1)
normals = points / np.linalg.norm(points, axis=1)[:, np.newaxis]
# Target direction (north pole)
north_pole = np.array([0, 0, 1])
# Project north pole direction onto each tangent plane
vectors = []
for n in normals:
proj = north_pole - np.dot(north_pole, n) * n
if np.linalg.norm(proj) > 1e-10:
proj /= np.linalg.norm(proj)
else:
proj = np.array([1, 0, 0]) # arbitrary choice if undefined
vectors.append(proj)
vectors = np.array(vectors)
# Sphere for background
u = np.linspace(0, 2 * np.pi, 60)
v = np.linspace(0, np.pi, 30)
xs = np.outer(np.cos(u), np.sin(v))
ys = np.outer(np.sin(u), np.sin(v))
zs = np.outer(np.ones_like(u), np.cos(v))
# Plotting
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')
# Plot sphere
ax.plot_surface(xs, ys, zs, color='lightblue', alpha=0.3, edgecolor='none')
# Plot parallel
ax.plot(x, y, z, color='k', lw=2, label="Parallel (Latitude Line)")
# Plot vectors pointing toward north pole (projected in tangent plane)
for i in range(0, len(theta), skip):
p = np.array([x[i], y[i], z[i]])
v = vectors[i]
ax.quiver(*p, *v, length=0.2, color='purple', normalize=True)
# Mark initial vector
p0 = np.array([x[0], y[0], z[0]])
v0 = vectors[0]
ax.quiver(*p0, *v0, length=0.2, color='g', normalize=True, label="Initial vector")
# Labels and legend
ax.set_box_aspect([1, 1, 1])
ax.set_title("Tangent Vectors Always Facing North (Projected)")
ax.legend()
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
plt.tight_layout()
plt.show()

“곡선을 따라 평행한 벡터장으로 정의되는 접곡면을 develope할 수 있는가?”
어떤 곡면 위의 곡선 $C$를 따라 **항상 평행한 벡터장 $\mathbf{v}(s)$**를 따라 접곡면(surface of contact)을 만들었을 때, 그 접곡면을 평면에 전개할 수 있는가 ?
📌 핵심 개념 정리
- 곡선 $C(s)$ 위의 접벡터장 $\mathbf{v}(s)$ 가 평행이동 조건을 만족한다고 하자:
$$
\frac{D \mathbf{v}}{ds} = 0
\quad \text{(곡면 $S$ 위에서의 공변도함수)}
$$
→ 즉, $\mathbf{v}(s)$는 $C$를 따라 평행하게 이동된다.
2. 접곡면 생성 :
$$
\mathbf{x}(s, t) = C(s) + t \cdot \mathbf{v}(s)
$$
이 함수는 $C$를 따라 정의된 벡터장 $\mathbf{v}(s)$를 따라 선다발(surface ribbon) 을 만듭니다.
평행벡터장을 따라 생긴 접곡면은 항상 developable
- Developable surface란 접벡터가 1차원 방향 으로만 변하는 경우입니다.
- 위에서 정의한 $\mathbf{x}(s, t) = C(s) + t \cdot \mathbf{v}(s)$는
- $\mathbf{v}(s)$가 평행이동되므로 방향이 일정하게 변하지 않습니다.
- 따라서, 이 곡면은 전개 가능 (developable) 합니다.
- 특히, 이 곡면은 ruled surface (직선 생성 곡면) 중 하나이며, 곡선 $C$를 따라 접선 방향이 일정하게 보존되는 경우, 그 곡면은 전개 가능합니다.

반응형
@Ray 수학 :: Ray 수학
You know what's cooler than magic? Math.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!