我需要一个基本函数来找到点和线段之间的最短距离.随意用您想要的任何语言编写解决方案; 我可以把它翻译成我正在使用的(Javascript).
编辑:我的线段由两个端点定义.所以我的线段AB由两点A (x1,y1)和B (x2,y2).我试图找到这个线段和一个点之间的距离C (x3,y3).我的几何技能很生疏,所以我看到的例子令人困惑,我很遗憾地承认.
问题
用户可以按任何顺序提供最多四个纬度和经度坐标.他们使用谷歌地图.使用Google的PolygonAPI(v3),他们选择的坐标应突出显示四个坐标之间的选定区域.
题
如何按(逆时针)顺序排列纬度和经度坐标数组?
解决方案和搜索
StackOverflow问题
相关网站
已知算法
码
这是我到目前为止:
// Ensures the markers are sorted: NW, NE, SE, SW
function sortMarkers() {
var ns = markers.slice( 0 );
var ew = markers.slice( 0 );
ew.sort( function( a, b ) {
if( a.position.lat() < b.position.lat() ) {
return -1;
}
else if( a.position.lat() > b.position.lat() ) {
return 1;
}
return 0;
});
ns.sort( function( a, b …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个地图,用户可以在其中勾勒出他们想要的任何形状.但我遇到的问题是,用户可以选择使多边形线交叉的点,并排除我想要包含的区域.
要查看我在说什么,请转到此页面并执行以下步骤:
你应该看到这样的东西:
替代文字http://polygon.abemiester.com/1.bmp
有没有一种简单的方法来解决这个问题,或者我基本上处理的是"旅行推销员"类型的情况?所有的逻辑都是用javascript完成的,所以如果你想看看我是怎么做的,请随意"查看源代码".
geometry ×2
convex-hull ×1
coordinates ×1
distance ×1
google-maps ×1
grahams-scan ×1
javascript ×1
line-segment ×1
polygon ×1
sorting ×1