早上好.
我想知道如何向地图点(纬度/经度)添加公里数.
例如:JaraguádoSul市位于北纬-26.462049,东经-49.059448.我想向上,向下和侧面增加100公里.我想做一个广场并获得新的积分.
我怎么做?
我尝试过这个:
<?php
$distance = 100;
$earthRadius = 6371;
$lat1 = -26.4853239150483;
$lon1 = -49.075927734375;
$bearing = 0;
$lat2 = asin(sin($lat1) * cos($distance / $earthRadius) + cos($lat1) * sin($distance / $earthRadius) * cos($bearing));
$lon2 = $lon1 + atan2(sin($bearing) * sin($distance / $earthRadius) * cos($lat1), cos($distance / $earthRadius) - sin($lat1) * sin($lat2));
echo 'LAT: ' . $lat2 . '<br >';
echo 'LNG: ' . $lon2;
?>
Run Code Online (Sandbox Code Playgroud)
但它正在回归错误的坐标.谢谢!
非常感谢你.
在我的2D游戏中,我使用图形工具创建由黑色代表的漂亮,平滑的地形:

用java编写的简单算法每15个像素查找一次黑色,创建以下一组行(灰色):

正如你所看到的,有些地方的地图非常糟糕,有些地方非常好.在其他情况下,没有必要对每15个像素进行采样,例如.如果地形平坦.
使用尽可能少的点将这条曲线转换为点[线]的最佳方法是什么?每15个像素采样= 55 FPS,10个像素= 40 FPS
以下算法正在执行该任务,从右到左采样,将可粘贴输出到代码数组中:
public void loadMapFile(String path) throws IOException {
File mapFile = new File(path);
image = ImageIO.read(mapFile);
boolean black;
System.out.print("{ ");
int[] lastPoint = {0, 0};
for (int x = image.getWidth()-1; x >= 0; x -= 15) {
for (int y = 0; y < image.getHeight(); y++) {
black = image.getRGB(x, y) == -16777216 ? true : false;
if (black) {
lastPoint[0] = x;
lastPoint[1] = y;
System.out.print("{" + (x) + ", " …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种算法来计算图像中两点(由x和y valaue定义)之间的角度.该角度应该在这些点之一的水平线和连接这两个点的线之间.
我怎样才能做到这一点?
我的任务是在一个看不见的圆的同心环上产生均匀(或多或少)的间隔点.该函数应该采用半径列表,以及给定半径作为参数绘制的点数.例如,对于半径为0,它应该在(0,0)处绘制1点.对于半径为1的圆,它应沿圆的圆周绘制10个点,间隔2pi/10的角度.对于半径为2的圆,沿圆周的20个点,以2pi/20的角度间隔开.
生成器应采用以下参数:
n,r_max,m
并应在半径处生成坐标对的环
对于i = 0,1,..,n,r_i = i*r_max/n.
每个环应具有均匀分布在θ中的n*i个点,其中对于i = 0,n_i = 1; n_i = mi for i> 0
当像这样调用函数时:
for r, t in genpolar.rtuniform(n=10, rmax=0.1, m=6):
plot(r * cos(t), r * sin(t), 'bo')
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所提出的:
def rtpairs(R, N):
R=[0.0,0.1,0.2]
N=[1,10,20]
r=[]
t=[]
for i in N:
theta=2*np.pi/i
t.append(theta)
for j in R:
j=j
r.append(j)
plt.plot(r*np.cos(t),r*np.sin(t), 'bo')
plt.show()
Run Code Online (Sandbox Code Playgroud)
但我很确定使用两个for循环有一个更有效的方法.
非常感谢
我一直pt在XML文件中使用该单元.现在我需要在运行时设置元素的宽度.如何通过点设置宽度,使其与我在其他地方使用的单位相同.我假设我需要乘以分辨率和dpi.代码示例最好.
我需要使用Javascript平滑地绘制N点> N> 2的曲线.我目前在html5 canvas对象中使用bezierCurveTo().我投入了大量的时间来寻找实现这一目标的最佳方法,虽然Catmull-Rom Splines看起来很有前途,但我并不知道将它们画成线条的方法.因此,我留下了Poly-lineBézier曲线,需要找到所有中间控制点.
我花了很多时间重新学习数学,但我在这里有一个部分工作的例子.这条线有时不是特别平滑,并且我的控制点在某些矢量关闭时出现问题.这是我最初的math.stackexchange问题,我要求获得控制点的大部分数学.
我也会对Catmull-Rom样条线开放,但需要一些帮助才能将它们转换为画布上的线条.我找到了这个资源,但是再次将它应用到我的需求中.
下面是我上面的示例链接创建的图像,说明了如何复制坏控制点:

非常感谢您提前提供任何帮助!
我想做一些植绒模拟,如这里所述.
为此,我需要搜索每个2D点的最近邻居.但是,我不能使用像kd树这样的静态数据结构,因为这些点总是在移动......
什么是一个好的(简单的)数据结构/库能够实现这一目标?我正在使用C++ ...
是否可以在不使用 math.h 库的情况下计算两点之间的距离?我知道,使用 math.h 库,它必须是以下几行(欧几里德距离公式)中的一些内容:
int Distance(int x1, int y1, int x2, int y2)
{
int dx = x2 - x1;
int dy = y2 - y1;
return sqrt(dx*dx + dy*dy);
}
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法在不使用平方根(需要 math.h 库)的情况下做完全相同的事情?
编辑:每当我尝试以下代码时,它都会给我浮点异常(核心转储):
float sqrt(int x) {
int i;
float s;
s=((x/2)+x/(x/2)) / 2; /*first guess*/
for(i=1;i<=4;i++) { /*average of guesses*/
s=(s+x/s)/2;
}
return s;
}
float Distance(float x1, float y1, float x2, float y2) {
float dx = x2 - x1;
float dy = y2 …Run Code Online (Sandbox Code Playgroud) 我知道存在一些函数,例如 lineRenderer 等,但我想使用两点(Vector3 形式)在场景中创建一条直线。我不想使用任何键或使用鼠标绘制线条,我只想在触发某些事件或单击播放按钮后查看场景中的线条。
谁能帮我?
我想在散点图中添加一个二次拟合的拟合线,但点的排序在某种程度上搞砸了.
attach(mtcars)
plot(hp, mpg)
fit <- lm(mpg ~ hp + I(hp^2))
summary(fit)
res <- data.frame(cbind(mpg, fitted(fit), hp))
with(res, plot(hp, mpg))
with(res, lines(hp, V2))
Run Code Online (Sandbox Code Playgroud)
这样可以在整个地方绘制线条,而不是通过散点图进行渲染.我确信这很简单,但我有点难过.
