diff --git a/bun.lock b/bun.lock index 8583bbf..45a6bf1 100644 --- a/bun.lock +++ b/bun.lock @@ -4,9 +4,11 @@ "": { "name": "home-page", "dependencies": { + "@breezystack/lamejs": "^1.2.7", "gray-matter": "^4.0.3", "gsap": "^3.12.7", "highlight.js": "^11.11.1", + "lamejs": "^1.2.1", "localforage": "^1.10.0", "markdown-it": "^14.1.0", "markdown-it-katex": "^2.0.3", @@ -95,6 +97,8 @@ "@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], + "@breezystack/lamejs": ["@breezystack/lamejs@1.2.7", "", {}, "sha512-6wc7ck65ctA75Hq7FYHTtTvGnYs6msgdxiSUICQ+A01nVOWg6rqouZB8IdyteRlfpYYiFovkf67dIeOgWIUzTA=="], + "@bufbuild/protobuf": ["@bufbuild/protobuf@2.2.5", "", {}, "sha512-/g5EzJifw5GF8aren8wZ/G5oMuPoGeS6MQD3ca8ddcvdXR5UELUfdTZITCGNhNXynY/AYl3Z4plmxdj/tRl/hQ=="], "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag=="], @@ -549,6 +553,8 @@ "kolorist": ["kolorist@1.8.0", "", {}, "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="], + "lamejs": ["lamejs@1.2.1", "", { "dependencies": { "use-strict": "1.0.1" } }, "sha512-s7bxvjvYthw6oPLCm5pFxvA84wUROODB8jEO2+CE1adhKgrIvVOlmMgY8zyugxGrvRaDHNJanOiS21/emty6dQ=="], + "lie": ["lie@3.1.1", "", { "dependencies": { "immediate": "~3.0.5" } }, "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw=="], "linkify-it": ["linkify-it@5.0.0", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ=="], @@ -837,6 +843,8 @@ "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="], + "use-strict": ["use-strict@1.0.1", "", {}, "sha512-IeiWvvEXfW5ltKVMkxq6FvNf2LojMKvB2OCeja6+ct24S1XOmQw2dGr2JyndwACWAGJva9B7yPHwAmeA9QCqAQ=="], + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], "varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="], diff --git a/env.d.ts b/env.d.ts index 06b8499..ca7ca53 100644 --- a/env.d.ts +++ b/env.d.ts @@ -7,6 +7,12 @@ declare module '*.md' { export const frontmatter: Frontmatter } +declare module '*.vue' { + import type { ComponentOptions } from 'vue' + const Component: ComponentOptions + export default Component +} + type MdModule = { default: ComponentOptions; frontmatter: Frontmatter; diff --git a/index.html b/index.html index acea9c1..ffe5d4c 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@
- + diff --git a/package.json b/package.json index 8a93f5b..ae11600 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,11 @@ "type-check": "vue-tsc --build" }, "dependencies": { + "@breezystack/lamejs": "^1.2.7", "gray-matter": "^4.0.3", "gsap": "^3.12.7", "highlight.js": "^11.11.1", + "lamejs": "^1.2.1", "localforage": "^1.10.0", "markdown-it": "^14.1.0", "markdown-it-katex": "^2.0.3", diff --git a/public/resources/Phy-exp/WebDemo.mp4 b/public/resources/Phy-exp/WebDemo.mp4 new file mode 100644 index 0000000..a35a665 Binary files /dev/null and b/public/resources/Phy-exp/WebDemo.mp4 differ diff --git a/public/resources/Phy-exp/自旋示意.mp4 b/public/resources/Phy-exp/自旋示意.mp4 new file mode 100644 index 0000000..6903f37 Binary files /dev/null and b/public/resources/Phy-exp/自旋示意.mp4 differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/IMG_4918.webp b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/IMG_4918.webp new file mode 100644 index 0000000..b3f2d69 Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/IMG_4918.webp differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/db04e0a12414cf9f96d24d4354e7542581cdb037cf90ec7149423d1633d1d526.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/db04e0a12414cf9f96d24d4354e7542581cdb037cf90ec7149423d1633d1d526.png new file mode 100644 index 0000000..9e915b4 Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/db04e0a12414cf9f96d24d4354e7542581cdb037cf90ec7149423d1633d1d526.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/f08147fd9a0dda4ef7fe5ad26a21827846b6a9fe0d4f675ce7895c2c998b47e7.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/f08147fd9a0dda4ef7fe5ad26a21827846b6a9fe0d4f675ce7895c2c998b47e7.png new file mode 100644 index 0000000..2d27c8f Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/f08147fd9a0dda4ef7fe5ad26a21827846b6a9fe0d4f675ce7895c2c998b47e7.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511034300354.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511034300354.png new file mode 100644 index 0000000..9726653 Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511034300354.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511034320528.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511034320528.png new file mode 100644 index 0000000..30bde9a Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511034320528.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511084546645.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511084546645.png new file mode 100644 index 0000000..7fbe076 Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/image-20250511084546645.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/output.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/output.png new file mode 100644 index 0000000..eecce4c Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/output.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_angle-1746905858024-15.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_angle-1746905858024-15.png new file mode 100644 index 0000000..df6613a Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_angle-1746905858024-15.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_angle-1746905877647-24.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_angle-1746905877647-24.png new file mode 100644 index 0000000..f0e7d5f Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_angle-1746905877647-24.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_change-1746905860347-17.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_change-1746905860347-17.png new file mode 100644 index 0000000..87286eb Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_change-1746905860347-17.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_change-1746905881604-26.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_change-1746905881604-26.png new file mode 100644 index 0000000..b776da2 Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_change-1746905881604-26.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_length-1746905856609-13.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_length-1746905856609-13.png new file mode 100644 index 0000000..a1c1be5 Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_length-1746905856609-13.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_length-1746905874563-22.png b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_length-1746905874563-22.png new file mode 100644 index 0000000..4a8a1bb Binary files /dev/null and b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.assets/pendulum_length-1746905874563-22.png differ diff --git a/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.md b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.md new file mode 100644 index 0000000..9d0a009 --- /dev/null +++ b/src/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.md @@ -0,0 +1,168 @@ +--- +title: 圆锥摆(傅科摆)综合实验——数据处理与进动分析 +desc: 傅科摆通过摆球进动演示地球自转,但实验中受限于实验条件,很难在本科实验室复现。本实验基于底部仰视摄影与计算机视觉提取椭圆长轴方向,结合频域与时域分析,在控制阻尼和提高品质因数的同时,进动速率与理论值吻合度达98%,验证了傅科效应,并建立起对空气阻力的定量模型。 +author: feie9454 +date: 2025-05-11 +tags: 物理、计算机 +--- + +# 圆锥摆(傅科摆)综合实验——数据处理与进动分析 + +*改进初始条件的数据处理与物理分析* + +## 前言 + +在先前的仰拍圆锥摆实验中,发现摆球轨迹(形似椭圆)的长轴会缓慢旋转,但旋转速度大于地转偏向力应有的速度,方向也不正确。 + +推测原因可能是: + +1. 摆球释放时有一个自旋速度,传导到系统中 +2. 铁架台与单摆形成共振 +3. 空气扰动 + +因此,进行了试验装置的改进,把单摆挂在墙壁上,避免了铁架台,也大幅增大了摆长,方便精细化调整实验。 + +可惜调整装置后第一次实验,结果和之前类似,旋转速度很大,远超出地转应有的水平。 + +![image-20250511084546645](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/image-20250511084546645.png) + +| 物理量 | 数值 (平均) | 解释 | +| ------------------- | ------------------------------------ | ---------------------------------------- | +| 长轴初始长度 a₀ | ≈ 1.69 ×10³ px | 取像素作单位,后续按指数衰减 | +| 阻尼时间常数 τ | **τ ≈ 3.0 ×10² s (≈ 5 min)** | a(t) ≈ a₀ e^(–t/τ);对应阻尼系数 γ ≈ 1/τ | +| 长轴方位角 **θ(t)** | 近线性:θ ≈ θ₀ + ωₚ t | | +| 平均进动角/周期 Δθ | **0.76 °/T** (≈ 0.013 rad) | 方向顺时针(在本坐标系下为负) | +| 进动角速度 ωₚ | **5.9 ×10⁻³ rad s⁻¹** (≈ 0.34 ° s⁻¹) | δω = ωₓ – ωᵧ | + +之后进行非常仔细的操作,使得摆球几乎无旋转释放,得到了下面的数据,也证明了之前的问题完全是释放条件导致的。 + +-->V(/resources/Phy-exp/自旋示意.mp4) + +## 摘要 + +在 *L = 1.72 m*、*m = 27 g*、北纬 37 ° 条件下,通过顶部俯视摄影与计算机视觉追踪获取摆球 (X,Y) 坐标,逐周期提取椭圆长轴参数。 + +改进“**零自旋**”初始条件后,剩余椭圆进动速率最好情况下仅与地球自转傅科率相差1.9%,最差情况也在同一数量级;阻尼品质因数提升至 *Q ≈ 500*。 + +## 1 实验装置与参数 + +| 量 | 符号 | 数值 | 备注 | +| ---------- | --------- | ---------- | --------------------------- | +| 摆长 | $L$ | **1.72 m** | 悬点到质心 | +| 摆球质量 | $m$ | **27.0 g** | 实心不锈钢球 | +| 纬度 | $\varphi$ | **37 ° N** | 实验位置 | +| 摄像机帧率 | | 60 fps | FHD (实验一) / UHD (实验二) | + +实验环境: + +![IMG_4918](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/IMG_4918.webp) + +## 2 数据处理流程 + +1. **FFT 定周期** + $$ + T = 2\pi/\omega_0 = 2.630\text{s} + $$ + +2. **按 T 分段 → 椭圆拟合** + *PCA* 求协方差特征值 λ₁, λ₂,长轴 + $$ + a = 2\sqrt{2\lambda_{1}} + $$ + + 长轴方向 + + $$ + \theta = \arctan\!\frac{v_{y}}{v_{x}} + $$ +3. **角度预处理** + 先乘 2 再 `np.unwrap` 再除 2,避免 ±90 °/180 °跳变。 +4. **拟合** + + * **阻尼**:$a(t)=a_{0}e^{-t/\tau}$ + * **进动**:$\theta(t)=\theta_{0}+\omega_{p}t$ + +## 3 结果汇总 + +| 实验一 | 实验二 | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| ![image-20250511034320528](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/image-20250511034320528.png) | ![image-20250511034300354](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/image-20250511034300354.png) | +| ![pendulum_length](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/pendulum_length-1746905856609-13.png) | ![pendulum_length](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/pendulum_length-1746905874563-22.png) | +| ![pendulum_angle](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/pendulum_angle-1746905858024-15.png) | ![pendulum_angle](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/pendulum_angle-1746905877647-24.png) | +| ![pendulum_change](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/pendulum_change-1746905860347-17.png) | ![pendulum_change](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/pendulum_change-1746905881604-26.png) | + +![db04e0a12414cf9f96d24d4354e7542581cdb037cf90ec7149423d1633d1d526](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/db04e0a12414cf9f96d24d4354e7542581cdb037cf90ec7149423d1633d1d526.png) + +![f08147fd9a0dda4ef7fe5ad26a21827846b6a9fe0d4f675ce7895c2c998b47e7](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/f08147fd9a0dda4ef7fe5ad26a21827846b6a9fe0d4f675ce7895c2c998b47e7.png) + +### 3.1 关键数值 + +| Parameter | 实验一 | 实验二 | +| --------------- | ---------- | ---------- | +| **周期 T** | 2.633 s | 2.625 s | +| **阻尼常数 τ** | 405 ± 5 | 422 ± 5 | +| **品质因数 Q** | 505 | 483 | +| **进动速率 ωₚ** | -4.5 ×10⁻⁵ | –2.1 ×10⁻⁴ | + +![output](./%E5%9C%86%E9%94%A5%E6%91%86%EF%BC%88%E5%82%85%E7%A7%91%E6%91%86%EF%BC%89%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B8%8E%E8%BF%9B%E5%8A%A8%E5%88%86%E6%9E%90.assets/output.png) + +地转傅科速率 $\omega_{F}=\Omega\sin\varphi$ = $\Omega=7.292\times10^{-5}$ = 4.39 × 10⁻⁵ rad s⁻¹ + +### 3.2 阻尼行为 + +指数衰减 $a(t)$ 与实测散点 $(R^{2}=0.997)$ 完全吻合 → 线性粘滞模型成立。 + 能量每周期损失 + +$$ \frac{\Delta E}{E}\approx \frac{2\pi}{Q}=1.07\% $$ + +### 3.3 进动比较 + +最好情况: + +$$ \frac{|\omega_{p}|}{\omega_{F}}\approx 1.019 $$ + +## 4 讨论 + +### 为什么“摆球自旋”会把整套圆锥摆的长轴带着一起转? + +| 过程 | 关键点 | 结果 | +| --------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| ① **放手瞬间的自旋**摆球绕悬丝轴线有角速度 ωs | 给摆球自身带来 **自旋角动量**Lspin=I ωs(I≈2/5 mr²) | 这部分角动量多半被“存”在 **扭转变形** 的悬丝里 | +| ② 悬丝扭转—摆平面耦合 | 悬丝有有限扭转刚度 κ(Nm rad⁻¹)静止时扭力 = κ θtwist | 扭力轴和摆线张力轴略有夹角 → 会在水平面产生 **小但持续的横向力 F⊥** | +| ③ Lspin ↔ Lorbital 交换 | 为满足总角动量守恒,部分 Lspin **逐渐转化** 为轨迹的枢转角动量 Lorb=m r² φ̇ | 轨迹椭圆的 **长轴开始顺(或逆)时针漂移** | +| ④ 自旋耗散 | 空气阻力 + 线材内摩擦让 ωs 衰减 | 扭转回复力减小 → 长轴漂移速率随时间趋零 | + +> **一句话**:摆球自旋“扭”着悬丝,悬丝的反扭力给了摆球水平向的微小推力;为了守恒角动量,系统把这股推力表现为 **摆平面的进动**。 + +------ + +#### 定量估算(典型数字) + +- 不锈钢球 m = 27 g, r ≈ 2 cm → I≈4.3 × 10⁻⁶ kg m² +- 假设放手时 **ωs = 10 rad/s**: + Lspin ≈ 4.3 × 10⁻⁵ N·m·s +- 圆锥摆小半径 a≈0.05 m,L=1.72 m → 为让摆面每秒转 0.01 rad 只需 + Lorb=m a² φ̇ ≈ 0.27 × (5 cm)² ×0.01 = 6.8 × 10⁻⁵ N·m·s + +> 两者同量级!——难怪轻微自旋就能显著改变摆面走向。 + +------ + +### 为什么“直着放”几乎消除了偏转? + +1. **Lspin≈0** → 悬丝几乎没有额外扭转能; +2. 摆球只剩下两自由度 (x,y) 的线性简谐振动,x、y 本征频率只受悬点几何 (ωx,ωy) 控制; +3. 于是长轴进动速率 ωp ≈ ½(ωx–ωy) → 很小,可被你调平到接近傅科速率。 + +------ + +## 如何彻底避免自旋耦合? + +| 方法 | 作用 | +| ---------------------------------- | ------------------------------------- | +| 在悬丝下端装 **万向小叉/滚珠轴承** | 自由脱开自旋,扭力不会传下摆面 | +| 用 **防扭钢丝**(多股细丝绞合) | 削弱 κ,减小扭转‑平面耦合 | +| 在放手前让摆球 **轻触静止垂直面** | “刹车”掉自旋再松手 | +| 录像分析时 **滤掉早期十几个周期** | 等自旋‑扭转能量耗散后再开始测傅科进动 | + +只要自旋角动量比你想观测的轨迹角动量小一个数量级(Lspin ≪ m a² ωF),就能把人为偏转压到地转量级以下。 diff --git a/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/43b073a2cac922f6fe7b1a469bca1394.png b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/43b073a2cac922f6fe7b1a469bca1394.png new file mode 100644 index 0000000..fa5087b Binary files /dev/null and b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/43b073a2cac922f6fe7b1a469bca1394.png differ diff --git a/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/9091e91c21053699e998775998a1fcab.png b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/9091e91c21053699e998775998a1fcab.png new file mode 100644 index 0000000..d6bbf98 Binary files /dev/null and b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/9091e91c21053699e998775998a1fcab.png differ diff --git a/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/da2d87ac406f3e8e8e419d4b8d7e2f37.png b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/da2d87ac406f3e8e8e419d4b8d7e2f37.png new file mode 100644 index 0000000..de89385 Binary files /dev/null and b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/da2d87ac406f3e8e8e419d4b8d7e2f37.png differ diff --git a/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/image-20250511041837399.png b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/image-20250511041837399.png new file mode 100644 index 0000000..0d419f8 Binary files /dev/null and b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.assets/image-20250511041837399.png differ diff --git a/src/blogs/基于CV的单摆实验优化方案实验进度与总结.md b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.md index 9e60f72..7b8c41f 100644 --- a/src/blogs/基于CV的单摆实验优化方案实验进度与总结.md +++ b/src/blogs/基于CV的单摆实验优化方案实验进度与总结.md @@ -2,7 +2,7 @@ title: 基于CV的单摆实验优化方案——实验进度与总结 desc: 单摆是一种经典的实验方法,用于测定重力加速度 $g$,但传统方法(例如用秒表计时)存在局限性。由于人类反应时间以及小角度近似的限制,所测得的 $g$ 往往存在几百分点的误差。我们的实验利用计算机视觉获取高质量的摆球位置-时间数据,应用数学模型提取周期信息,最后通过非线性拟合消除大振幅和阻尼影响,测得准确的重力加速度值并评估空气阻力特性。 author: feie9454 -date: 2025-04-26 +date: 2025-05-11 tags: 计算机、物理、竞赛 --- @@ -162,9 +162,9 @@ $$ ------ -## 如何把现有方案升级为“AI 赋能”项目? +### 如何把现有方案升级为“AI 赋能”项目? -### 1 感知:用深度视觉替换硬规则 +#### 1 感知:用深度视觉替换硬规则 | 具体动作 | 效果 | | --------------------------------------------- | ------------------------------------------------------------ | @@ -172,7 +172,7 @@ $$ | **自监督关键点跟踪**(如 DINOv2 + RAFT 光流) | 无需人工标注即可在不同实验之间迁移,适合滚动球、弹簧端点等形态变化目标 | | **多相机 + 单目深度网络** | 直接预测 3-D 轨迹,免去手工尺标与透视校正 | -### 2 模型发现:让 AI 自己写方程 +#### 2 模型发现:让 AI 自己写方程 | 工具 | 可以做什么 | | ------------------------------------------------------- | ------------------------------------------------------------ | @@ -180,24 +180,24 @@ $$ | **AI Feynman** | 对测得的 $(T,\theta)$、$(a,m)$ 等表格做符号回归,返还可解释解析式(含物理常数) ([AI Feynman: A physics-inspired method for symbolic regression - PMC](https://pmc.ncbi.nlm.nih.gov/articles/PMC7159912/?utm_source=chatgpt.com)) | | **Auto-PINN** | 把未知力项当“可训练函数”,网络同时满足运动方程残差和边界条件,实现隐力识别(例如滚动摩擦的速度依赖形式) | -### 3 不确定度与解释 +#### 3 不确定度与解释 - **Bayesian Neural ODE / PyMC**:给出 $g,k,I,\mu_r$ 的完整后验分布,而非单点估计;可直接用置信区间作为误差条形图。 - **SHAP / LIME**:解释深度检测模型在不同光照角度时依赖的像素区域,方便调光源或贴标记。 -### 4 自适应实验设计 +#### 4 自适应实验设计 - **贝叶斯优化 (BO)**:实验实时决定下一次振幅、质量差或拍摄帧率,使 Fisher 信息最大(参数方差最小)。近年来物理与材料实验已用 BO 自动排程 ([A physics informed bayesian optimization approach for material ...](https://www.nature.com/articles/s41524-023-01173-7?utm_source=chatgpt.com))。 - **深度强化学习 (RL)**:控制伺服电机自动改变弹簧载荷或扭摆阻尼板开口,使残差谱最平坦,形成“AI 智能调参实验台”。 -### 5 数据治理与报告 +#### 5 数据治理与报告 - **异常检测**:残差序列喂入 LSTM-VAE,自动标出摄像掉帧、灯闪烁导致的离群周期。 - **LLM-Copilot**:把实验日志 + 图表交给 GPT-4o 生成中文 / 英文双语报告并自动插入 LaTeX 公式与参考文献。 ------ -## 为什么这样就“够 AI”? +### 为什么这样就“够 AI”? 1. **端到端学习**:从像素到物理参数无需人工阈值或公式硬编码。 2. **自适应/自发现**:算法自行决定实验参数或生成闭式方程。 @@ -214,4 +214,25 @@ $$ 这样设计不仅满足“AI 赋能”主题,还能体现**跨学科融合、可解释性与可迁移性**三大当前热点。 +整体来说,目前实验大部分目标以达成,后续可以一步步把实验中的部分替换更符合AI。 + -->(/blogs/计算机视觉辅助单摆优化及经典力学实验拓展研究综述.md) + +## 2025/5/10 + +尝试进行自由落体拓展实验的分析: + +![image-20250511041837399](./%E5%9F%BA%E4%BA%8ECV%E7%9A%84%E5%8D%95%E6%91%86%E5%AE%9E%E9%AA%8C%E4%BC%98%E5%8C%96%E6%96%B9%E6%A1%88%E5%AE%9E%E9%AA%8C%E8%BF%9B%E5%BA%A6%E4%B8%8E%E6%80%BB%E7%BB%93.assets/image-20250511041837399.png) + +| ![9091e91c21053699e998775998a1fcab](./%E5%9F%BA%E4%BA%8ECV%E7%9A%84%E5%8D%95%E6%91%86%E5%AE%9E%E9%AA%8C%E4%BC%98%E5%8C%96%E6%96%B9%E6%A1%88%E5%AE%9E%E9%AA%8C%E8%BF%9B%E5%BA%A6%E4%B8%8E%E6%80%BB%E7%BB%93.assets/9091e91c21053699e998775998a1fcab.png) | ![da2d87ac406f3e8e8e419d4b8d7e2f37](./%E5%9F%BA%E4%BA%8ECV%E7%9A%84%E5%8D%95%E6%91%86%E5%AE%9E%E9%AA%8C%E4%BC%98%E5%8C%96%E6%96%B9%E6%A1%88%E5%AE%9E%E9%AA%8C%E8%BF%9B%E5%BA%A6%E4%B8%8E%E6%80%BB%E7%BB%93.assets/da2d87ac406f3e8e8e419d4b8d7e2f37.png) | ![43b073a2cac922f6fe7b1a469bca1394](./%E5%9F%BA%E4%BA%8ECV%E7%9A%84%E5%8D%95%E6%91%86%E5%AE%9E%E9%AA%8C%E4%BC%98%E5%8C%96%E6%96%B9%E6%A1%88%E5%AE%9E%E9%AA%8C%E8%BF%9B%E5%BA%A6%E4%B8%8E%E6%80%BB%E7%BB%93.assets/43b073a2cac922f6fe7b1a469bca1394.png) | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | + +即使使用240FPS采样,数据点还是较少,拍摄设备分辨率1920x1080,加速度很离散。 + +## 2025/5/11 + +-->(/blogs/圆锥摆(傅科摆)综合实验——数据处理与进动分析.md) + +## 2025/5/18 + +-->V(/resources/Phy-exp/WebDemo.mp4) diff --git a/src/components/QingAudioConverter.vue b/src/components/QingAudioConverter.vue new file mode 100644 index 0000000..ee9d232 --- /dev/null +++ b/src/components/QingAudioConverter.vue @@ -0,0 +1,1068 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index bc3ec91..297b571 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,12 +1,8 @@ import { createRouter, createWebHistory } from 'vue-router' import NotFoundView from '@/views/NotFoundView.vue' import { getStaticRoutes } from './routes' -import { generatePath } from '@/blogs/utils'; - function getRoutes() { - - return [ ...getStaticRoutes().map(route => { return { @@ -15,6 +11,7 @@ function getRoutes() { '/tools': () => import('@/views/ToolsView.vue'), '/blogs': () => import('@/views/BlogsView.vue'), '/tools/image-converter': () => import('@/views/tools/ImageConverterView.vue'), + '/tools/qing-audio': () => import('@/views/tools/QingAudioConverterView.vue'), '/tools/desktop-engine': () => import('@/views/tools/DesktopEngineView.vue'), }[route.path] || (() => import('@/views/NotFoundView.vue')), meta: route.path === '/tools/desktop-engine' ? { hideLayout: true } : {}, diff --git a/src/router/routes.ts b/src/router/routes.ts index a630e85..915ff85 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,5 @@ // src/router/routes.ts -export function getStaticRoutes() { - return [ +export function getStaticRoutes() { return [ { path: '/', name: '学习中的鹅', @@ -16,6 +15,11 @@ export function getStaticRoutes() { name: '在线图片压缩工具', changefreq: 'daily', priority: 0.7, + }, { + path: '/tools/qing-audio', + name: '清朝音质生成器', + changefreq: 'daily', + priority: 0.7, }, { path: '/tools/desktop-engine', name: '桌面引擎壁纸', diff --git a/src/views/ToolsView.vue b/src/views/ToolsView.vue index 59d9958..b7e2323 100644 --- a/src/views/ToolsView.vue +++ b/src/views/ToolsView.vue @@ -1,23 +1,176 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/views/tools/QingAudioConverterView.vue b/src/views/tools/QingAudioConverterView.vue new file mode 100644 index 0000000..2400662 --- /dev/null +++ b/src/views/tools/QingAudioConverterView.vue @@ -0,0 +1,9 @@ + + +