为什么飞机的螺旋桨旋转起来后,看起来是弯的?

知乎热榜4个月前发布 NIUC!
1,312 0 0

黄河边儿的回答

你说的“看起来是弯的”,应该是看的是照片吧,就像下面这样,左图是静止时候螺旋桨的照片,右边是飞机起飞后高速旋转的螺旋桨的照片,右图相对于左图明显弯曲。

为什么飞机的螺旋桨旋转起来后,看起来是弯的?
静止的螺旋桨照片 (左) 和 高速旋转的螺旋桨(右)

肉眼如果直接观看高速旋转的螺旋桨的话,看到的应该是一片模糊。

螺旋桨旋转的时候,每一个桨叶具有相同的角速度 为什么飞机的螺旋桨旋转起来后,看起来是弯的? ,桨叶不同位置的速度不同,满足 为什么飞机的螺旋桨旋转起来后,看起来是弯的?为什么飞机的螺旋桨旋转起来后,看起来是弯的? 是桨叶距离中心轴的距离,所以桨叶远端的转动速度会很快,对应的桨叶的形变也会更加明显。

但是,照片上的螺旋桨出现扭曲或者大幅度的弯曲,并不是因为螺旋桨在高速旋转下,远端发生形变导致的,因为这种形变非常小。真正的原因,是照相机的采样或者曝光方式导致的。

大家买相机或者手机的时候,特别关注的一个参数就是像素,像素越高,越清楚。现在主流的像素都在千万级别,甚至有的相机像素达到了上亿。对高像素的追求,极大促进了相机曝光方式的改进。

为了提供高像素,目前绝大多数的照相机上都是采用的电子断流快门,因为这种快门的速度很高,大概在万分之一秒的量级,而且快门的体积很小(这是由于曝光方式完全由传感器完成,不需要任何的机械部件进行物理遮光)。

这种主流快门的工作方式有两种,全局快门和卷帘快门。卷帘快门是主流的工作方式

先看全局快门吧,它的工作原理是所有像素在同一时间接受光源,并同时将光信号转换为电子信号。这种方式在拍摄高速运动物体时效果好。但是,由于全局快门要求每个像素同时进行数据转换,增加了像素采光元件的数量,从而导致单个像素的体积变大,单位面积内的像素数量减少[1],所以,全局快门的像素不高。

为什么飞机的螺旋桨旋转起来后,看起来是弯的?
卷帘快门(左)和全局快门(右)的对比

为了追求更高的像素,大多数手机和相机选择了卷帘快门。卷帘快门不会一次性曝光整个传感器,而是按顺序逐行扫描。这种方式目前是最常见的曝光方法。像下图一样[2]

为什么飞机的螺旋桨旋转起来后,看起来是弯的?
卷帘快门

说到这,大家应该能理解为什么螺旋桨变弯了,因为螺旋桨的远端速度和近端速度差很大( 为什么飞机的螺旋桨旋转起来后,看起来是弯的? ),而用卷帘快门的相机进行拍摄的时候,就会出现下图的样子,图中红色线条代表的是螺旋桨,蓝线代表的是卷帘快门逐行采样时候的采样结果,可见螺旋桨的确由于逐行扫描的方式,在最终的成像结果中变弯曲了。

为什么飞机的螺旋桨旋转起来后,看起来是弯的?
螺旋桨在卷帘快门相机的拍摄时的采样结果

再看另外一个例子吧[3],卷帘快门逐行取样的方式难以对快速运动的物体准确成像。

为什么飞机的螺旋桨旋转起来后,看起来是弯的?
快速旋转的彩盘在卷帘快门相机的拍摄时的采样结果

好了,就这样,希望把这个问题解释清楚了。


评论区 @张朝 @苑少坡,有人感兴趣螺旋桨的动画,这个可以用Matlab来制作,这里给出螺旋桨旋转和快门采样的matlab代码,感兴趣的可以玩一玩。

t = linspace(0, 2*pi, 1000); % 参数 t 从 0 到 2*pi
r = sin(4 * t); % 极径函数 r = sin(3t)

x = r .* cos(t);
y = r .* sin(t);

% 画图
figure;
h = plot(x, y, 'r', 'LineWidth', 1.5);
axis equal;
grid on;
xlabel('X');
ylabel('Y');
title('旋转的螺旋桨形状');

% 动画循环
for theta = linspace(0, 2*pi, 360)
    % 旋转矩阵
    R = [cos(theta) -sin(theta); sin(theta) cos(theta)];
    
    % 旋转坐标
    xy_rotated = R * [x; y];
    
    % 螺旋桨+直线
    plot(xy_rotated(1, :),xy_rotated(2, :),'r',linspace(-1,1,1000),ones(1000,1)*sin(theta-pi/2),'k');    
    grid minor;

    axis ([-1,1,-1,1])
    % 刷新图形
    drawnow;
end
© 版权声明

相关文章

暂无评论

暂无评论...