distance-to-line-segment
Version:
Calculate distance between a point and a finite line segment
1 lines • 13 kB
JavaScript
{"filter":false,"title":"distance-to-line-segment.js","tooltip":"/distance-to-line-segment.js","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":14,"column":12},"end":{"row":14,"column":13},"action":"insert","lines":["u"],"id":3735}],[{"start":{"row":14,"column":13},"end":{"row":14,"column":14},"action":"insert","lines":["m"],"id":3736}],[{"start":{"row":14,"column":14},"end":{"row":14,"column":15},"action":"insert","lines":["b"],"id":3737}],[{"start":{"row":14,"column":15},"end":{"row":14,"column":16},"action":"insert","lines":["e"],"id":3738}],[{"start":{"row":14,"column":16},"end":{"row":14,"column":17},"action":"insert","lines":["r"],"id":3739}],[{"start":{"row":14,"column":17},"end":{"row":14,"column":18},"action":"insert","lines":["}"],"id":3740}],[{"start":{"row":14,"column":18},"end":{"row":14,"column":19},"action":"insert","lines":[" "],"id":3741}],[{"start":{"row":14,"column":19},"end":{"row":14,"column":20},"action":"insert","lines":["p"],"id":3742}],[{"start":{"row":14,"column":20},"end":{"row":14,"column":21},"action":"insert","lines":["x"],"id":3743}],[{"start":{"row":14,"column":21},"end":{"row":14,"column":22},"action":"insert","lines":[" "],"id":3744}],[{"start":{"row":14,"column":22},"end":{"row":14,"column":23},"action":"insert","lines":["-"],"id":3745}],[{"start":{"row":14,"column":23},"end":{"row":14,"column":24},"action":"insert","lines":[" "],"id":3746}],[{"start":{"row":14,"column":24},"end":{"row":14,"column":25},"action":"insert","lines":["x"],"id":3747}],[{"start":{"row":14,"column":25},"end":{"row":14,"column":26},"action":"insert","lines":[" "],"id":3748}],[{"start":{"row":14,"column":26},"end":{"row":14,"column":27},"action":"insert","lines":["c"],"id":3749}],[{"start":{"row":14,"column":27},"end":{"row":14,"column":28},"action":"insert","lines":["o"],"id":3750}],[{"start":{"row":14,"column":28},"end":{"row":14,"column":29},"action":"insert","lines":["o"],"id":3751}],[{"start":{"row":14,"column":29},"end":{"row":14,"column":30},"action":"insert","lines":["r"],"id":3752}],[{"start":{"row":14,"column":30},"end":{"row":14,"column":31},"action":"insert","lines":["d"],"id":3753}],[{"start":{"row":14,"column":31},"end":{"row":14,"column":32},"action":"insert","lines":["i"],"id":3754}],[{"start":{"row":14,"column":32},"end":{"row":14,"column":33},"action":"insert","lines":["n"],"id":3755}],[{"start":{"row":14,"column":33},"end":{"row":14,"column":34},"action":"insert","lines":["a"],"id":3756}],[{"start":{"row":14,"column":34},"end":{"row":14,"column":35},"action":"insert","lines":["t"],"id":3757}],[{"start":{"row":14,"column":35},"end":{"row":14,"column":36},"action":"insert","lines":["e"],"id":3758}],[{"start":{"row":14,"column":36},"end":{"row":14,"column":37},"action":"insert","lines":[" "],"id":3759}],[{"start":{"row":14,"column":37},"end":{"row":14,"column":38},"action":"insert","lines":["o"],"id":3760}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"insert","lines":["f"],"id":3761}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"insert","lines":[" "],"id":3762}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"insert","lines":["p"],"id":3763}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"insert","lines":["o"],"id":3764}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["i"],"id":3765}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["n"],"id":3766}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["t"],"id":3767}],[{"start":{"row":14,"column":45},"end":{"row":15,"column":0},"action":"insert","lines":["",""],"id":3768},{"start":{"row":15,"column":0},"end":{"row":15,"column":3},"action":"insert","lines":[" * "]}],[{"start":{"row":15,"column":3},"end":{"row":15,"column":4},"action":"insert","lines":["@"],"id":3769}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":5},"action":"insert","lines":["p"],"id":3770}],[{"start":{"row":15,"column":5},"end":{"row":15,"column":6},"action":"insert","lines":["a"],"id":3771}],[{"start":{"row":15,"column":6},"end":{"row":15,"column":7},"action":"insert","lines":["r"],"id":3772}],[{"start":{"row":15,"column":7},"end":{"row":15,"column":8},"action":"insert","lines":["a"],"id":3773}],[{"start":{"row":15,"column":8},"end":{"row":15,"column":9},"action":"insert","lines":["m"],"id":3774}],[{"start":{"row":15,"column":9},"end":{"row":15,"column":10},"action":"insert","lines":[" "],"id":3775}],[{"start":{"row":15,"column":10},"end":{"row":15,"column":11},"action":"insert","lines":["{"],"id":3776}],[{"start":{"row":15,"column":11},"end":{"row":15,"column":12},"action":"insert","lines":["n"],"id":3777}],[{"start":{"row":15,"column":12},"end":{"row":15,"column":13},"action":"insert","lines":["u"],"id":3778}],[{"start":{"row":15,"column":13},"end":{"row":15,"column":14},"action":"insert","lines":["m"],"id":3779}],[{"start":{"row":15,"column":14},"end":{"row":15,"column":15},"action":"insert","lines":["b"],"id":3780}],[{"start":{"row":15,"column":15},"end":{"row":15,"column":16},"action":"insert","lines":["e"],"id":3781}],[{"start":{"row":15,"column":16},"end":{"row":15,"column":17},"action":"insert","lines":["r"],"id":3782}],[{"start":{"row":15,"column":17},"end":{"row":15,"column":18},"action":"insert","lines":["}"],"id":3783}],[{"start":{"row":15,"column":18},"end":{"row":15,"column":19},"action":"insert","lines":[" "],"id":3784}],[{"start":{"row":15,"column":19},"end":{"row":15,"column":20},"action":"insert","lines":["p"],"id":3785}],[{"start":{"row":15,"column":20},"end":{"row":15,"column":21},"action":"insert","lines":["y"],"id":3786}],[{"start":{"row":15,"column":21},"end":{"row":15,"column":22},"action":"insert","lines":[" "],"id":3787}],[{"start":{"row":15,"column":22},"end":{"row":15,"column":23},"action":"insert","lines":["="],"id":3788}],[{"start":{"row":15,"column":22},"end":{"row":15,"column":23},"action":"remove","lines":["="],"id":3789}],[{"start":{"row":15,"column":22},"end":{"row":15,"column":23},"action":"insert","lines":["-"],"id":3790}],[{"start":{"row":15,"column":23},"end":{"row":15,"column":24},"action":"insert","lines":[" "],"id":3791}],[{"start":{"row":15,"column":24},"end":{"row":15,"column":25},"action":"insert","lines":["y"],"id":3792}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":[" "],"id":3793}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"insert","lines":["c"],"id":3794}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"insert","lines":["o"],"id":3795}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":["o"],"id":3796}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["r"],"id":3797}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["d"],"id":3798}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["i"],"id":3799}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["n"],"id":3800}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":["a"],"id":3801}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["t"],"id":3802}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"insert","lines":["e"],"id":3803}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"insert","lines":[" "],"id":3804}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"insert","lines":["o"],"id":3805}],[{"start":{"row":15,"column":38},"end":{"row":15,"column":39},"action":"insert","lines":["f"],"id":3806}],[{"start":{"row":15,"column":39},"end":{"row":15,"column":40},"action":"insert","lines":[" "],"id":3807}],[{"start":{"row":15,"column":40},"end":{"row":15,"column":41},"action":"insert","lines":["p"],"id":3808}],[{"start":{"row":15,"column":41},"end":{"row":15,"column":42},"action":"insert","lines":["o"],"id":3809}],[{"start":{"row":15,"column":42},"end":{"row":15,"column":43},"action":"insert","lines":["i"],"id":3810}],[{"start":{"row":15,"column":43},"end":{"row":15,"column":44},"action":"insert","lines":["n"],"id":3811}],[{"start":{"row":15,"column":44},"end":{"row":15,"column":45},"action":"insert","lines":["t"],"id":3812}],[{"start":{"row":43,"column":46},"end":{"row":43,"column":48},"action":"remove","lines":["x2"],"id":3813},{"start":{"row":43,"column":46},"end":{"row":43,"column":47},"action":"insert","lines":["y"]}],[{"start":{"row":43,"column":47},"end":{"row":43,"column":48},"action":"insert","lines":["1"],"id":3814}],[{"start":{"row":38,"column":0},"end":{"row":39,"column":0},"action":"insert","lines":["",""],"id":3815}],[{"start":{"row":39,"column":0},"end":{"row":52,"column":3},"action":"insert","lines":["/**"," * Calculate the square of the distance between a finite line segment and a point. This "," * version takes somewhat less convenient parameters than distanceSquaredToLineSegment,"," * but is more efficient if you are calling it multiple times for the same line segment,"," * since you pass in some easily pre-calculated values for the segment."," * @param {number} lx1 - x-coordinate of line segment's first point"," * @param {number} ly1 - y-coordinate of line segment's first point"," * @param {number} ldx - x-coordinate of the line segment's second point minus lx1"," * @param {number} ldy - y-coordinate of the line segment's second point minus ly1"," * @param {number} lineLengthSquared - must be ldx*ldx + ldy*ldy. Remember, this precalculation"," * is for efficiency when calling this multiple times for the same line segment."," * @param {number} px - x coordinate of point"," * @param {number} py - y coordinate of point"," */"],"id":3816}],[{"start":{"row":40,"column":83},"end":{"row":43,"column":71},"action":"remove","lines":["This "," * version takes somewhat less convenient parameters than distanceSquaredToLineSegment,"," * but is more efficient if you are calling it multiple times for the same line segment,"," * since you pass in some easily pre-calculated values for the segment."],"id":3817}],[{"start":{"row":43,"column":19},"end":{"row":43,"column":22},"action":"remove","lines":["ldx"],"id":3818},{"start":{"row":43,"column":19},"end":{"row":43,"column":20},"action":"insert","lines":["l"]}],[{"start":{"row":43,"column":20},"end":{"row":43,"column":21},"action":"insert","lines":["x"],"id":3819}],[{"start":{"row":43,"column":21},"end":{"row":43,"column":22},"action":"insert","lines":["2"],"id":3820}],[{"start":{"row":43,"column":81},"end":{"row":43,"column":82},"action":"remove","lines":["1"],"id":3821}],[{"start":{"row":43,"column":80},"end":{"row":43,"column":81},"action":"remove","lines":["x"],"id":3822}],[{"start":{"row":43,"column":79},"end":{"row":43,"column":80},"action":"remove","lines":["l"],"id":3823}],[{"start":{"row":43,"column":78},"end":{"row":43,"column":79},"action":"remove","lines":[" "],"id":3824}],[{"start":{"row":43,"column":77},"end":{"row":43,"column":78},"action":"remove","lines":["s"],"id":3825}],[{"start":{"row":43,"column":76},"end":{"row":43,"column":77},"action":"remove","lines":["u"],"id":3826}],[{"start":{"row":43,"column":75},"end":{"row":43,"column":76},"action":"remove","lines":["n"],"id":3827}],[{"start":{"row":43,"column":74},"end":{"row":43,"column":75},"action":"remove","lines":["i"],"id":3828}],[{"start":{"row":43,"column":73},"end":{"row":43,"column":74},"action":"remove","lines":["m"],"id":3829}],[{"start":{"row":43,"column":72},"end":{"row":43,"column":73},"action":"remove","lines":[" "],"id":3830}],[{"start":{"row":44,"column":20},"end":{"row":44,"column":22},"action":"remove","lines":["dy"],"id":3831},{"start":{"row":44,"column":20},"end":{"row":44,"column":21},"action":"insert","lines":["y"]}],[{"start":{"row":44,"column":21},"end":{"row":44,"column":22},"action":"insert","lines":["2"],"id":3832}],[{"start":{"row":44,"column":72},"end":{"row":44,"column":82},"action":"remove","lines":[" minus ly1"],"id":3833}],[{"start":{"row":45,"column":0},"end":{"row":46,"column":83},"action":"remove","lines":[" * @param {number} lineLengthSquared - must be ldx*ldx + ldy*ldy. Remember, this precalculation"," * is for efficiency when calling this multiple times for the same line segment."],"id":3834}],[{"start":{"row":45,"column":0},"end":{"row":46,"column":0},"action":"remove","lines":["",""],"id":3835}]]},"ace":{"folds":[],"customSyntax":"javascript","scrolltop":628,"scrollleft":0,"selection":{"start":{"row":45,"column":0},"end":{"row":45,"column":0},"isBackwards":false},"options":{"tabSize":3,"useSoftTabs":true,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":35,"state":"start","mode":"ace/mode/javascript"}},"timestamp":1453678316367,"hash":"f2abd891ebb0c6c62cf46d8087fcc72073dd1ebe"}