我在2D网格(x,y)上有一些观点,我需要找到距离该点n个距离的所有点.我测量距离的方法是使用两点之间的距离公式.有人知道怎么做吗?
编辑:仅供参考,我正在尝试做的是编写一些AI路径查找,它将与使用基于网格的位置的系统中的目标保持一定距离.目前我正在使用A*路径查找,但我不确定这是重要还是有所不同,因为我对这些东西不熟悉.
我需要在屏幕上放置JFrame.但我无法让它们出现在屏幕底部的右侧.
请有人解释我如何定位它们,如果你能描述如何做,那就太好了.
这是迄今为止的代码.
//Gets the screen size and positions the frame left bottom of the screen
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice defaultScreen = ge.getDefaultScreenDevice();
Rectangle rect = defaultScreen.getDefaultConfiguration().getBounds();
int x = (int)rect.getMinX();
int y = (int)rect.getMaxY()- frame.getHeight();
frame.setLocation(x ,y - 45);
Run Code Online (Sandbox Code Playgroud) 有没有办法让+操作员为Point对象工作?
举个例子,这个小片段:
this.cm1.Show((MouseEventArgs)e.Location+this.i_rendered.Location);
Run Code Online (Sandbox Code Playgroud)
你看,我试着给彼此增加两点.它只是不起作用(这是预期的).我很乐意让这个工作.
有任何想法吗?
我有3个地理位置
(开始位置)11.986242477259117,79.84657287597656`
(中间位置)11.984521304799278,79.84583258628845
(结束位置)11.985014568760436,79.844491481781
我从如何使用kml文件在地图上绘制路径获得了解?
我已经在地理点之间绘制了这条线.

我使用如何使用经度和纬度值计算两个位置之间的距离来计算距离
我的问题是,当用户站在"A"(开始位置)附近时,我想告诉方向,你要移动到"北方","东方","西方","南方"这样,.
如果用户错误地移动其他方向,需要说出"你有错误的方向"并说出正确的方向.
如何获得两个地理点之间的方向.
我从两个经度/纬度点获得方向(指南针)得到了这个值
它返回一定程度,但我告诉正确的方向我是没有意义的.
如何获得两个地理点之间的方向.
"组"是指一组像素,使得每个像素至少在同一组中具有一个相邻像素,该图示出了组的示例.

我想找到与指定像素(例如,绿色像素)具有最大直线距离的像素.并且连接两个像素的直线(红线)不得离开该组.
我的解决方案是循环度数并模拟从绿色像素开始的线条的进度,并查看哪条线走过最远的距离.
longestDist = 0
bestDegree = -1
farthestX = -1
farthestY = -1
FOR EACH degree from 0 to 360
dx=longestDist * cos(degree);
dy=longestDist * sin(degree);
IF Point(x+dx , y+dy) does not belong to the group
Continue with next degree
//Because it must not be the longest line, so skip it
END IF
(farthestX , farthestY) = simulate(x,y,degree)
d = findDistance(x , y , farthestX , farthestY)
IF d > longestDist
longestDist = d
bestDegree = degree
END …Run Code Online (Sandbox Code Playgroud) 我一直在研究JavaScript/JQuery代码,它允许输入框之间的箭头键移动(是的,我知道这打破了标准UI).
它通过循环遍历每个元素并在每个方向(左,右,上和下)找到最接近的方法.
P1:(0,0),P2:(1,0),P3:(0,2)
P1有一个指向右侧(P2)和一个点向上(P3).

P2有一个点向左(P1)和一个点向上(P3).
禁止摄影
P3有两个点(P1和P2),但P1更接近.

因此最后的动作是:
Up
1 -> 3
2 -> 3
Right
1 -> 2
Down
3 -> 1
Left
2 -> 1
Run Code Online (Sandbox Code Playgroud)
对于此示例:
P1有两个传入和两个传出连接.
P2有一个传入和两个传出连接.
P3有两个传入和一个传出连接.
这让我想到了.
是否有一组点使得一个或多个点不可访问(0个传入连接),或者可以证明没有这样的集合存在?
旁注:
如果忽略向上/向下组件(仅使用左和右垂直分割),则在P1中将P3指向不可访问:(0,0),P2:(2,0),P3:(1,4 ).
这是JavaScript/JQuery代码,如果它可以帮助任何人.
function arrowKeyNavigation(elements) {
// Get the position of each element.
var elementOffsets = [];
elements.each(function(key, element) {
elementOffsets[key] = $(element).offset();
});
// Find the closest point in each direction and store the points in data('keyNav') for later use.
for (var i = …Run Code Online (Sandbox Code Playgroud) 我有一个SpatialPointsDataFrame加载
pst<-readOGR("/data_spatial/coast/","points_coast")
Run Code Online (Sandbox Code Playgroud)
我想在输出中得到一个SpatialLines,我发现了一些东西
coord<-as.data.frame(coordinates(pst))
Slo1<-Line(coord)
Sli1<-Lines(list(Slo1),ID="coastLine")
coastline <- SpatialLines(list(Sli1))
class(coastline)
Run Code Online (Sandbox Code Playgroud)
它似乎工作,但当我尝试绘图(海岸线),我有一条不应该在那里的线...

有人能帮帮我吗?shapefile就在这里!
我有一个Point.我想x成为一个int.如果我使用Point.x,我会得到x一个int.但我觉得我应该尽可能使用getter(为什么要使用getter和setter?).问题Point.getX()是它返回一个double而不是int.
哪个更好,还是只是偏好?
a还是b?
Point point = new Point(5, 5);
int a = point.x;
int b = (int) point.getX();
Run Code Online (Sandbox Code Playgroud)
我已经阅读了Java Point,getX()和point.x之间的区别,但它并没有真正回答我的问题.或者至少我不明白答案.
我正在编写一个视图来绘制Metal中的实时数据.我正在使用点基元绘制样本,并且我对顶点和统一数据进行三重缓冲.我遇到的问题是调用currentDrawable返回的时间似乎是不可预测的.这几乎就好像有时没有准备就绪,我必须等待一整帧才能获得.通常,currentDrawable返回的时间约为0.07毫秒(这与我的期望大致相同),但有时则是整整1/60秒.这导致整个主线程被阻塞,也就是说至少不是非常期望的.
我在iPhone 6S Plus和iPad Air上看到了这个问题.我还没有看到这种行为是Mac(我有一台带有AMD 460 GPU的2016 MPB).我的猜测是,这与iOS设备中的GPU基于TBDR的事实有某种关系.我不认为我的带宽有限,因为无论我绘制的样本数量多少或几乎没有,我都会得到完全相同的行为.
为了说明这个问题,我写了一个绘制静态正弦波的最小例子.这是一个简化的例子,因为我通常会将样本记忆到当前的vertexBuffer中,就像我对制服一样.这就是为什么我对顶点数据和制服进行三重缓冲.尽管如此,它仍然足以说明问题.只需将此视图设置为故事板中的基本视图,然后运行即可.在某些运行中,它工作得很好.其他时候currentDrawable以16.67 ms的返回时间开始,然后在几秒钟后跳转到0.07 ms,然后一段时间后回到16.67.如果由于某种原因旋转设备,它似乎从16.67跳到0.07.
MTKView子类
import MetalKit
let N = 500
class MetalGraph: MTKView {
typealias Vertex = Int32
struct Uniforms {
var offset: UInt32
var numSamples: UInt32
}
// Data
var uniforms = Uniforms(offset: 0, numSamples: UInt32(N))
// Buffers
var vertexBuffers = [MTLBuffer]()
var uniformBuffers = [MTLBuffer]()
var inflightBufferSemaphore = DispatchSemaphore(value: 3)
var inflightBufferIndex = 0
// Metal State
var commandQueue: MTLCommandQueue!
var pipeline: MTLRenderPipelineState!
// Setup
override func awakeFromNib() {
super.awakeFromNib() …Run Code Online (Sandbox Code Playgroud) 问题是:如何确定一个点是否在多边形内?
这个问题已被多次询问和回答.有多种方法可用于确定点是否在多边形内.
我已经编写了绕组数算法,将另一个SO线程的可靠答案移植到C#中并在其周围编写了xUnit测试,以确保我能够无情地重构.目标是得到一个答案,所有这些似乎都使用过程编程方法和变量名称,这些名称与您在数学公式中找到的类似,并将其重构为一组合理合理的OOP类和方法.
所以,要将这个问题专门改为我将继续提供的答案:
如何确定位置/点(纬度和经度)是否在OOP C#中的多边形内?
point ×10
c# ×2
distance ×2
java ×2
.net ×1
2d ×1
algorithm ×1
android ×1
direction ×1
drawable ×1
geolocation ×1
geopoints ×1
getter ×1
graph ×1
grid ×1
ios ×1
javascript ×1
jframe ×1
jquery ×1
line ×1
metal ×1
oop ×1
operators ×1
pixel ×1
polygon ×1
proof ×1
r ×1
spatial ×1
swift ×1
swing ×1
winforms ×1