我有兴趣建立一个程序来容纳以下工作流程:
用户以任意矢量/CAD形状开始,他们希望在不使用打印机的情况下将其转换到纸上(我对这个问题感兴趣的原因既有现实的,也有新奇的)。该程序将接受此文件,并创建使用尺、方、罗盘和标准曲线窗体绘制形状的指令列表。我目前不关心这个程序的细节(文件格式,向量曲线样条、贝塞尔等的类型,输出格式等),而是核心几何描述问题。我认为用直线、角度和偏移来实现这一点是相当简单的。
然而,我不知道如何处理曲线拟合问题。理想情况下,用户将能够在cad文件中找到适合(可能近似)的曲线,以便他们可以使用标准的法语曲线形式起草曲线,包括:

髋部曲线

变形曲线
假设这些曲线是按标准形状和尺寸制作的,并以尺寸精度建模。此外,它们在特定的点被裁定,用户可以将它们放在纸图上特定的位置和角度(相对于已经起草的图表中的其他元素)。
解决这个问题的第一步是什么?是否存在用标准形式(分段和组合)逼近曲线的计算几何方法?我想读什么文学作品?我为这个问题有点开放的性质道歉,但我很难决定从哪里开始。
如果有帮助的话,CAD图形可能是这样的,事实上,这些曲线可以非常接近于这些形状中的一到两个--最主要的用途是绘制时尚图案,而这些法国曲线是专门为创建适合人体的平面图案的几何形状而设计的。
发布于 2017-03-02 22:42:02
由于你有一套有限的工具,你实际上并不是在做一个经典的拟合。你拥有的是一个离散的问题。因为你正在寻找一个有点容易画适合,不超过两次分割,例如。
一种方法是找到所有符合你的曲率要求的点。然后,在所有这些的两端找出点x单位,看看它匹配得有多好。如果端点的曲率匹配过远,那么这不是一个很好的候选。如果你找不到一个好的候选人,把问题分成两部分。一旦你找到了一个讨人喜欢的候选人,就把结果滑动,看看是否放松了这个东西,使错误更加对称。
有些事要注意。由于你的法国曲线正在加速从一端到另一端,你需要分裂贝齐尔和b样条在每一个跨度的曲线改变方向。此外,一旦您找到了好的端点,一定要检查中途没有太大的差距。
现在,如果你想做一个经典的拟合类似的方法,那么你需要参数化你的曲线的滑动和尺度。这是不可能有用的,因为你实际上不能随意缩放你的规则。
或者你可以得到一个样条,你知道在计算机和其他东西之前使用的东西之一,然后写关于如何设置样条的说明。
发布于 2017-07-09 10:31:40
据我所知,法国曲线没有标准形状。制造它们的人可以自由选择他们喜欢的任何形状。当然,他们选择的形状看起来“漂亮”,这通常意味着曲率要么单调增加,要么有一个峰值。
因此,除非您对用户可用的法国曲线的特定形状做了一些假设,否则您无法解决这个问题(S)。
完成此操作后,您可以将法国曲线的形状建模为Bezier曲线(例如)。然后,问题是对这条Bezier曲线进行定位/定向,使其符合数据,这是一个简单的最小二乘拟合问题。如果您确认这种方法是有希望的,我将提供更多的细节。
https://computergraphics.stackexchange.com/questions/4781
复制相似问题