更新文件,加入清朝音频生成器

This commit is contained in:
2025-05-20 12:24:58 +08:00
parent 5497e891ad
commit a822293420
30 changed files with 1466 additions and 30 deletions
+8
View File
@@ -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=="],
Vendored
+6
View File
@@ -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;
+1 -1
View File
@@ -11,7 +11,7 @@
</head>
<body>
<div id="app"></div>
<script>window.amapKey= '29079f345973b792ff05946a20946038'</script>
<script>window.amapKey= ''</script>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
+2
View File
@@ -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",
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 609 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

@@ -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),就能把人为偏转压到地转量级以下。
Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

@@ -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)
File diff suppressed because it is too large Load Diff
+1 -4
View File
@@ -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 } : {},
+6 -2
View File
@@ -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: '桌面引擎壁纸',
+167 -14
View File
@@ -1,23 +1,176 @@
<script setup lang="ts">
interface Tool {
id: string;
title: string;
description: string;
icon: string;
link: string;
}
const tools: Tool[] = [
{
id: 'image-converter',
title: '在线图片压缩',
description: '一个基于 Canvas 的本地图片压缩工具,支持批量处理',
icon: '🖼️',
link: '/tools/image-converter'
},
{
id: 'qing-audio',
title: '清朝音质生成器',
description: '把普通音频转换成清朝效果,模拟失真、噪音和低品质音效,适合恶搞使用',
icon: '🎵',
link: '/tools/qing-audio'
},
{
id: 'desktop-engine',
title: 'Desktop Engine',
description: '一个用于被设置为 Wallpaper Engine 背景的网页,支持丰富的插件,如音乐播放器或股票实时行情',
icon: '🖥️',
link: '/tools/desktop-engine'
}
]
</script>
<template>
<main>
<ul>
<li>
<RouterLink to="/tools/image-converter">
<h2 class="title">在线图片压缩</h2>
<section class="tools-header">
<h1 class="title">实用工具</h1>
<p class="subtitle">这里收集了我开发的一些工具,希望能帮到你</p>
</section>
<div class="tools-wrapper">
<div class="tools-container">
<RouterLink
v-for="tool in tools"
:key="tool.id"
:to="tool.link"
class="tool-card"
>
<div class="tool-icon">
{{ tool.icon }}
</div>
<div class="tool-content">
<h2 class="tool-title">{{ tool.title }}</h2>
<p class="tool-description">{{ tool.description }}</p>
</div>
<div class="tool-arrow">
→
</div>
</RouterLink>
<p>一个基于 Canvas 的本地图片压缩工具,支持批量处理</p>
</li>
<li>
<RouterLink to="/tools/desktop-engine">
<h2 class="title">Desktop Engine</h2>
</RouterLink>
<p>一个用于被设置为 Wallpaper Engine 背景的网页,支持丰富的插件,如音乐播放器或股票实时行情。</p>
</li>
</ul>
</div>
</div>
</main>
</template>
<style scoped lang="scss">
.tools-header {
margin-bottom: 2rem;
text-align: center;
.title {
font-size: 2rem;
margin-bottom: 0.5rem;
}
.subtitle {
color: var(--text-color-gray);
font-size: 1.1rem;
}
}
.tools-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
max-width: 1200px; // 设置最大宽度,避免过宽
margin: 0 auto; // 居中显示
@media (min-width: 1201px) {
grid-template-columns: repeat(3, 1fr); // 最多显示3列
}
@media (max-width: 640px) {
grid-template-columns: 1fr; // 小屏幕显示1列
}
}
.tool-card {
display: flex;
align-items: center;
padding: 1.5rem;
border: var(--border);
border-radius: var(--border-radius);
background-color: rgba(255, 255, 255, 0.3);
text-decoration: none;
color: var(--text-color);
transition: all 0.3s ease;
position: relative;
overflow: hidden;
@media (prefers-color-scheme: dark) {
background-color: rgba(0, 0, 0, 0.3);
}
&:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
.tool-arrow {
transform: translateX(0);
opacity: 1;
}
.tool-icon {
color: var(--text-color-orange);
transform: scale(1.1);
}
}
}
.tool-icon {
flex-shrink: 0;
width: 3rem;
height: 3rem;
display: flex;
align-items: center;
justify-content: center;
margin-right: 1rem;
border-radius: 50%;
font-size: 1.5rem;
background-color: rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
@media (prefers-color-scheme: dark) {
background-color: rgba(255, 255, 255, 0.1);
}
}
.tool-content {
flex-grow: 1;
}
.tool-title {
margin: 0;
margin-bottom: 0.5rem;
font-size: 1.25rem;
}
.tool-description {
margin: 0;
color: var(--text-color-gray);
font-size: 0.9rem;
line-height: 1.4;
}
.tool-arrow {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
margin-left: 1rem;
transition: all 0.3s ease;
transform: translateX(1rem);
opacity: 0;
font-size: 1.25rem;
}
</style>
@@ -0,0 +1,9 @@
<script setup lang="ts">
import QingAudioConverter from '@/components/QingAudioConverter.vue';
</script>
<template>
<main>
<QingAudioConverter />
</main>
</template>