求思路:图片上要加个测量功能,可以任意图片上选取两点,然后测量这两点间的距离 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunboy911

求思路:图片上要加个测量功能,可以任意图片上选取两点,然后测量这两点间的距离

  •  
  •   sunboy911 2017 年 10 月 31 日 5326 次点击
    这是一个创建于 3098 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。有木有大神用 js 实现过类似的功能,拜托了。

    38 条回复    2018-05-11 16:29:26 +08:00
    jlsk
        1
    jlsk  
       2017 年 10 月 31 日
    没上过高中?
    sxm
        2
    sxm  
       2017 年 10 月 31 日 via Android
    先判断 2 点是否为斜线,斜线的话那就套用公式计算直角三角形的斜边长度
    sunboy911
        3
    sunboy911  
    OP
       2017 年 10 月 31 日
    不是问直线咋算,是代码具体咋实现的
    mooncakejs
        4
    mooncakejs  
       2017 年 10 月 31 日
    最基础的勾股定理还要啥代码?
    CEBBCAT
        5
    CEBBCAT  
       2017 年 10 月 31 日 via Android   1
    选两点的时候可以拿到坐标,把坐标做勾股运算就好了
    coderluan
        6
    coderluan  
       2017 年 10 月 31 日
    首先用 getMousePos 之类的函数获取两点的坐标( ax,ay ),( bx,by )
    然后距离就等于 开方(( ax-bx )( ax-bx )+( ay-by )( ay-by ))

    @sxm #3 那公式也也适用斜线的,不用判断。

    PS:虽然我知道这个政治不正确,但是我还是忍不住怀疑楼主是不是培训班出身......
    jiangzhuo
        7
    jiangzhuo  
       2017 年 10 月 31 日
    alert('出门左转得力文具淘宝旗舰店')
    holystrike
        8
    holystrike  
       2017 年 10 月 31 日
    @jlsk 勾股定理是初中
    m939594960
        9
    m939594960  
       2017 年 10 月 31 日
    楼主要的只是这么单纯的功能啊。。。我还以为是那种实景点两个点自动测距离呢
    xomix
        10
    xomix  
       2017 年 10 月 31 日
    @coderluan 亮点斜线公式,还可以求斜率……话说我当年也突然想不起来过
    jlsk
        11
    jlsk  
       2017 年 10 月 31 日
    @holystrike
    说勾股定理的都没上过高中!

    这是平面解析几何的内容,高二的那个小薄本
    平面上两点间的距离公式跟勾股定理有个屁关系!
    勾股定理只不过是特例中的特例
    连 TM 基本三角函数都不懂,就会个小学生现推理也能推出来的勾股定理
    给定直线 AB 的长度和倾斜角勾股定理能 tm 反推点坐标吗?
    给你极坐标的两点 P1P2 你用勾股定理给我算算距离?

    对于这个站的文化水平之低感到惊讶!
    kokdemo
        12
    kokdemo  
       2017 年 10 月 31 日
    @jlsk 戾气也太大了,嘴能放干净点么
    jlsk
        13
    jlsk  
       2017 年 10 月 31 日
    @kokdemo 放你妈了隔壁,傻逼
    你那只狗眼看到老子嘴不干净了?
    sunboy911
        14
    sunboy911  
    OP
       2017 年 10 月 31 日
    @coderluan 话说 js 咋操作图片呀,在图片上选两个点 然后给其连上线,然后线上给其距离显示出来
    imn1
        15
    imn1  
       2017 年 10 月 31 日
    @jlsk
    虽然确实是平面解析几何,也应该用它来解
    但并非知道两点坐标不能用勾股定理来解吧?
    liuminghao233
        16
    liuminghao233  
       2017 年 10 月 31 日 via iPhone
    游标卡尺比较准
    sunboy911
        17
    sunboy911  
    OP
       2017 年 10 月 31 日
    不知道这操作图片的 js 咋写呀 选点和连线
    jlsk
        18
    jlsk  
       2017 年 10 月 31 日
    @imn1 如果是正交平面那是能解
    本来我也不想说啥,看到他强调初中我才多说两句

    但是就 lz 这个问题不一定坐标系是正交平面啊
    如果那图是用在一些特定场合的坐标系下呢?
    hxndg
        19
    hxndg  
       2017 年 10 月 31 日
    @jlsk
    不太明白你在表达什么,虽然平面上两点距离公式不等于勾股定理,但是讲解的时候还是以勾股定理作为依托,
    当然确实得承认V站的部分程序员解析几何的东西不是很了解,至于极坐标系就是另外的问题了,当然我也记得不清楚了.

    PS  你下面的回复太脏了,兄弟.
    kokdemo
        20
    kokdemo  
       2017 年 10 月 31 日
    cc @Livid

    @jlsk 这位已经开始人身攻击和辱骂了。
    takanasi
        21
    takanasi  
       2017 年 10 月 31 日 via Android
    lz 内心是崩溃的,他只是想知道怎么做特效
    coderluan
        22
    coderluan  
       2017 年 10 月 31 日
    @sunboy911 #15

    也就是说其实你是连 js 都不懂呗,你也不是求思路,是想要代码......
    这样可以不好...

    https://gist.github.com/LuanZhanKuangGe/e0714d39301eb884e2ac35c0f0af20ea
    coderluan
        23
    coderluan  
       2017 年 10 月 31 日
    @jlsk #12 文化水平低总好过素质低。
    1oNflow
        24
    1oNflow  
       2017 年 10 月 31 日 via iPhone
    我以为要通过图片估算三维空间中两个物体的距离……
    icyalala
        25
    icyalala  
       2017 年 10 月 31 日
    楼主应该只是 JS 不行,想要求个 JS Demo 吧。。。

    @jlsk 14 楼回复很不干净。
    wxt
        26
    wxt  
       2017 年 10 月 31 日 via Android
    google map api v3 离线版本,离线地图,把图片切成地图碎片,还能放大缩小,获取到坐标,计算距离。
    回复不要太脏!
    Livid
        27
    Livid  
    MOD
    PRO
       2017 年 10 月 31 日   1
    @kokdemo 举报收到。这个账号已经彻底 ban。
    wangxiaoer
        28
    wangxiaoer  
       2017 年 10 月 31 日
    找个轻量级的地图库比如 leafletjs 之类,直接加载图片,有测距功能。
    Mithril
        29
    Mithril  
       2017 年 10 月 31 日
    简单的欧几里得距离上面的公式就能算。
    实际上勾股定理也能算
    但想要知道图像中物体的实际距离就不可能了,除非对图像内容进行限制。
    Shura
        30
    Shura  
       2017 年 10 月 31 日 via Android
    我想到了昨天那个“高数”的帖子,这明显的是求两点间距离(欧几里德距离),关勾股定理什么事?
    YingJie
        31
    YingJie  
       2017 年 10 月 31 日 via Android   1
    YingJie
        32
    YingJie  
       2017 年 10 月 31 日 via Android
    @YingJie 没翻到下面就 @了,不好意思,撤回。
    sunboy911
        33
    sunboy911  
    OP
       2017 年 10 月 31 日
    @coderluan 受教了
    sunboy911
        34
    sunboy911  
    OP
       2017 年 10 月 31 日
    是的求代码哈哈
    magicO
        35
    magicO  
       2017 年 10 月 31 日 via Android
    @Livid 好评,净化环境
    wjm2038
        36
    wjm2038  
       2017 年 10 月 31 日 via Android
    @Shura 指的应该是 a*a+b*b=c*c,两个点坐标 x 差距和 y 差距就是 a 和 b,勾股定理也没错
    ctt
        37
    ctt  
       2017 年 11 月 1 日 via iPhone
    勾股定理也没错,初中生就不会解这个距离差的求法了?没必要死板。
    wmm
        38
    wmm  
       2018 年 5 月 11 日
    java 中
    坐标 1:(3,0)
    坐标 1:(0,4)
    float fLen = (float) Math.sqrt(Math.pow((3 - 0), 2) + Math.pow(0 - 4, 2));

    fLen = 5.0
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1513 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 140ms UTC 16:47 PVG 00:47 LAX 09:47 JFK 12:47
    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