sunboy911
V2EX  ›  问与答

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

  •  
  •   sunboy911 · Oct 31, 2017 · 5835 views
    This topic created in 3290 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

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

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

    @jlsk 14 楼回复很不干净。
    wxt
    wxt
    Oct 31, 2017 via Android
    26
    google map api v3 离线版本,离线地图,把图片切成地图碎片,还能放大缩小,获取到坐标,计算距离。
    回复不要太脏!
    Livid
    Livid
    MOD
    PRO
    Oct 31, 2017❤️1
    27
    @kokdemo 举报收到。这个账号已经彻底 ban。
    wangxiaoer
    wangxiaoer
    Oct 31, 2017
    28
    找个轻量级的地图库比如 leafletjs 之类,直接加载图片,有测距功能。
    Mithril
    Mithril
    Oct 31, 2017
    29
    简单的欧几里得距离上面的公式就能算。
    实际上勾股定理也能算
    但想要知道图像中物体的实际距离就不可能了,除非对图像内容进行限制。
    Shura
    Shura
    Oct 31, 2017 via Android
    30
    我想到了昨天那个“高数”的帖子,这明显的是求两点间距离(欧几里德距离),关勾股定理什么事?
    YingJie
    YingJie
    Oct 31, 2017 via Android❤️1
    31
    YingJie
    YingJie
    Oct 31, 2017 via Android
    32
    @YingJie 没翻到下面就 @了,不好意思,撤回。
    sunboy911
    sunboy911
    OP
    Oct 31, 2017
    33
    @coderluan 受教了
    sunboy911
    sunboy911
    OP
    Oct 31, 2017
    34
    是的求代码哈哈
    magicO
    magicO
    Oct 31, 2017 via Android
    35
    @Livid 好评,净化环境
    wjm2038
    wjm2038
    Oct 31, 2017 via Android
    36
    @Shura 指的应该是 a*a+b*b=c*c,两个点坐标 x 差距和 y 差距就是 a 和 b,勾股定理也没错
    ctt
    ctt
    Nov 1, 2017 via iPhone
    37
    勾股定理也没错,初中生就不会解这个距离差的求法了?没必要死板。
    toJoker
    toJoker
    May 11, 2018
    38
    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
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4804 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 01:15 · PVG 09:15 · LAX 17:15 · JFK 20:15
    ♥ Do have faith in what you're doing.