确定平均弧线

Roo*_*ook 8 algorithm geometry

研究员,

我知道这有点超出了你的法律,但我想知道你是否有时间,如果你可以用一个"程序"来帮助我.不考虑数学,但最好的方法是什么.

替代文字 替代文字

这是一个翼型/轮廓.通常,配置文件使用两组数据定义.一个是平均弧线的位置,以x,y的形式给出,其中x通常以弦长的百分比给出.第二组数据是弦长百分比的厚度.始终绘制垂直于弧线(!)的厚度,并给出轮廓点.

现在,我有一个反向问题 - 我有一个轮廓点,我需要确定弧线的位置.通过点插值的方法可能会有所不同,但这并不重要,因为我总是可以根据需要插入尽可能多的点,因此它最终会成为线性点.

请记住,由于思考是垂直于弧线绘制的,因此弧线的位置不是轮廓上下线之间的点(称为轮廓的背面和面).


编辑(如何在纸上完成):呃,痛苦和大规模(我在这里说很长的A0纸,在大型绘图桌上是1189x5945mm.你首先绘制第一个弧线(CL)迭代通过在相同的x坐标处,面部和背部之间的中点(平均点).之后,您绘制了许多垂直于该CL的垂直线,并在面部和背部之间找到它们的中点(面部和背部的那些点将不再具有相同的x值).连接那些,这是你的第二次迭代CL.之后你只需通过在第二个CL上绘制垂直线来重复该过程的第二步......(它通常在3或4次迭代后收敛).


第2次编辑:将图片替换为更好地显示思考如何"绘制"到弧线(CL)上的图片.呈现它的另一种方式,就像图片2.如果你绘制了很多圆圈,其中心点位于弧线上,并且其半径是厚度,那么这些圆的切线将是轮廓的线(将构成曲线).

弧线不是平均线(面和点之间的平均值); 它可以与它重合(因此通常是混乱).在更多弧形轮廓(更弯曲的轮廓)中很容易看出这种差异.


第3次编辑 - 在平均线和弧线之间显示差异(很遗憾,我花了很长时间才画出它),这是通常在"纸上"完成的过程.这是一个相当变形的轮廓,因为两者之间的差异可以更容易地显示(尽管这样的轮廓也存在).

在该图中,示出了平均线 - 它是由相同x坐标上的面和背面的平均值形成的线.

替代文字

在平行线上的这张图中,绘制了垂直线(绿色线).这些垂直线的中点构成了弧线的第一次迭代(红色间歇线).与第一张照片相比,了解这些圆圈在翼型内部的适应性.

替代文字

在下图中,示出了弧线的第二次迭代,以及来自第一张图的平均线,以说明两者之间的差异.现在里面的那些圈子更合适(除了第一个飞出去,但不介意他).

替代文字

San*_*har 4

从我从你的图表中可以看出,中弧线的定义是,它的切线平分上边缘和下边缘的两条切线之间的角度。

换句话说,弧线始终是两个边缘之间的平均点,但沿着顶部边缘和底部边缘之间的最短距离的线。

那么,给定 y 坐标y=top(x)y=bot(x),为什么不:

<pseudocode>
for each x:
  find x2 where top(x)-bot(x2) is minimized
  camber( mean(x,x2) ) = mean( top(x),bot(x2) )
</pseudocode>
Run Code Online (Sandbox Code Playgroud)

然后插值等?

替代文本

编辑

对不起!再想一想,我认为应该是

  find x2 where ( (top(x)-bot(x2))^2 + (x-x2)^2 ) is minimised
Run Code Online (Sandbox Code Playgroud)

显然你应该最小化该垂直线的长度。

是对的吗?