请教个数学问题,计算弧长 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
commoccoom
V2EX    问与答

请教个数学问题,计算弧长

  •  
  •   commoccoom 2020-12-15 10:05:15 +08:00 2850 次点击
    这是一个创建于 1768 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个亲戚是做钢琴黑键的,他发了张图给我,让我计算下弧长。请教下画红线的地方的弧长怎么计算,感觉不是普通的拱形。。。或者有什么软件能做到类型的事情。

    112.png

    25 条回复    2020-12-15 19:57:50 +08:00
    Cooky
        1
    Cooky  
       2020-12-15 10:07:59 +08:00 via Android
    涂颜色印纸上拿根线贴边再拉直了量一下?
    commoccoom
        2
    commoccoom  
    OP
       2020-12-15 10:10:07 +08:00
    @Cooky 他好像要设置机器的参数,最好是有计算公式,太难了
    Cooky
        3
    Cooky  
       2020-12-15 10:12:58 +08:00 via Android
    @commoccoom 公式估计不麻烦吧,两边是斜线,顶头应该是个半圆?量对了长度和直径算出来再和手量的比较一下?
    hoyixi
        4
    hoyixi  
       2020-12-15 10:14:55 +08:00
    这不是规则圆形吧,看着可以用抛物线逼近
    commoccoom
        5
    commoccoom  
    OP
       2020-12-15 10:15:28 +08:00
    @Cooky 我感觉还是要让他拍正面,现在这个角度看,感觉两边的都是有弧度的,而不是斜线
    admonition
        6
    admonition  
       2020-12-15 10:21:39 +08:00
    直接拿线比一下,量线不行吗?
    commoccoom
        span class="no">7
    commoccoom  
    OP
       2020-12-15 10:26:01 +08:00
    @hoyixi 我感觉那个两侧是抛物线,上面是个圆弧。
    just1
        8
    just1  
       2020-12-15 10:26:45 +08:00   2
    要公式的话,切面拍照用 getdata 取弧线点,然后用抛物线函数去拟合
    just1
        9
    just1  
       2020-12-15 10:29:00 +08:00 via Android   1
    如果觉得不是抛物线,用多项式拟合就好,要是怕不好弄,matlab 拟合工具箱走起,有图形界面
    lizhantju
        10
    lizhantju  
       2020-12-15 10:32:28 +08:00 via iPhone
    诸位没学过高数吗?你知道坐标方程之后对 x,y 变量的平方开根号求积分就行了。精确计算没有其他方法。至于说多项式拟合我也算佛了
    lizhantju
        11
    lizhantju  
       2020-12-15 10:33:24 +08:00 via iPhone
    知道坐标方程之后对 x,y 变量的导数的平方开根号求积分就行了
    commoccoom
        12
    commoccoom  
    OP
       2020-12-15 10:35:49 +08:00
    @lizhantju 现在是不知道坐标方程。先要知道方程,然后再计算弧长
    learningman
        13
    learningman  
       2020-12-15 10:47:56 +08:00 via Android
    @lizhantju 对现实世界的东西求方程除了拟合还能咋办。。。打电话找厂家问参数?
    vtoexwj
        14
    vtoexwj  
       2020-12-15 11:31:43 +08:00
    需要很精确吗?直尺平铺在 A4 纸上,用钢琴黑键“弧线”凸起的“棱”靠着直尺在 A4 纸上“滚轧”出痕迹,再量一下?
    IgniteWhite
        15
    IgniteWhite  
       2020-12-15 11:33:43 +08:00 via iPhone
    @just1
    @lizhantju
    @learningman
    如果考虑编程的话最合适的是傅立叶级数啊!根据 n 次导数是否一致,连续取到一定的级数不久逼近了嘛。这种弧形求出解析解也不难
    IgniteWhite
        16
    IgniteWhite  
       2020-12-15 11:34:40 +08:00 via iPhone
    @IgniteWhite 一致连续,打错了
    chocovon
        17
    chocovon  
       2020-12-15 11:40:06 +08:00
    这些弧形结构连弧度是多少都不知道,更别说计算弧长了
    解决办法要么就是拿到原本的设计参数,要么就是自己凭感觉仿造一套设计
    Mashirobest
        18
    Mashirobest  
       2020-12-15 11:40:55 +08:00 via Android
    @lizhantju 你不拟合曲线哪知道方程,要是知道方程 lz 也不会发出来了,我也是佛了哦。。。
    sillydaddy
        19
    sillydaddy  
       2020-12-15 13:10:25 +08:00   1
    @commoccoom 琴键的加工信息一般是通过造型参数来描述的。造型软件比如 Pro/E,Catia 这些,会有一套专门表示零件形状与加工信息的方法(实体边界表示,简称 BREP)。

    看你发的图里面,这个琴键的头部是一个斜面,然后头部的 2 个角有两个倒角,倒角的形状好像是球形,所以,只需要知道斜面的参数,然后知道球的圆心半径,就可以把交线求出来。

    如果倒角确实是球,那么这个红线应该是 2 段圆弧+2 段线段组成的。
    iConnect
        20
    iConnect  
       2020-12-15 13:15:19 +08:00 via Android
    这个问题,咨询搞数控机床的应该很简单的。
    q149072205
        21
    q149072205  
       2020-12-15 13:26:02 +08:00
    百度模型扫描仪,招出来还有 3D 模型图还有参数。。
    sillydaddy
        22
    sillydaddy  
       2020-12-15 13:38:59 +08:00
    @commoccoom
    再补充一下,如果倒角确实是球面的话,只需要知道琴键头部的斜面,就可以推导出球心半径了因为需要满足倒角之后,圆弧和线段连接的地方,切线斜率一致,也就是说,圆弧的切线要与线段的方向一致。满足这样条件的球是可以唯一求得的:

    球心:到斜面、侧面、顶面 3 个面的距离相等的一点,就是球心
    球半径:球心到任一一个面的距离。

    所以,你可以找到斜面的参数(比如量一下角度),然后把 3 个平面的方程确定出来,再计算出球心和球半径。最后计算出交线就可以了。
    当然前提是倒角是球面。而且图片里面,侧边的棱好像也有倒角,图片看不太清,但求解思路是一样的。
    sillydaddy
        23
    sillydaddy  
       2020-12-15 13:51:09 +08:00
    @sillydaddy #22
    说错了,22L 里面的“面”,应该换成“棱”: “到 3 个面距离相等” => “到 3 条棱的距离相等”
    littlecreek
        24
    littlecreek  
       2020-12-15 13:55:30 +08:00
    你亲戚不会是打算山寨吧, 否则怎么回没有图纸?
    yzbythesea
        25
    yzbythesea  
       2020-12-15 19:57:50 +08:00
    你近似一个长方形截面做,机器搞定了之后,让工人拿砂纸磨出弧线来。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2130 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 01:00 PVG 09:00 LAX 18:00 JFK 21:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86