0 0

java中如何计算一个位置在另一个位置的方向0

如题,java中如何计算一个位置在另一个位置的方向?不是很清楚,请大神解救
2014年7月28日 21:33

4个答案 按时间排序 按投票排序

0 0

采纳的答案

java的没有用过,其他的可以的
//根据经纬度计算距离和方向

function getRadian($d)

{

return $d * M_PI / 180;

}

 

function getDistance ($lat1, $lng1, $lat2, $lng2)

{

$lat1 =getRadian($lat1);

$lat2 = getRadian($lat2);

 

$a = $lat1 – $lat2;

$b = getRadian($lng1) – getRadian($lng2);

 

$v = 2 * asin(sqrt(pow(sin($a/2),2) +

cos($lat1) * cos($lat2) * pow(sin($b/2),2)));

 

$v = round(EARTH_RADIUS * $v * 10000) / 10000;

 

return $v;

}

//根据经纬度计算方向

function getDirection($lat1, $lng1, $lat2, $lng2){

$k1 = $lng2-$lng1;

$k2 = $lat2-$lat1;

if( 0 == $k1){

if($k2>0){

$str=”聊友在您的正北方 “;

}

else if( $k2<0){

$str =”聊友在您的正南方 “;

}

else if( $k2 == 0){

$str=”聊友正在您的附近 “;

}

}else if( 0 == $k2){

if($k1>0){

$str=”聊友在您的正东方 “;

}

else if( $k1<0){

$str=”聊友在您的正西方 “;

}

}else{

$k=$k2/$k1;

if($k2>0){

if($k1>0){

$angle = 180*atan($k)/M_PI;

$str=”聊友在您的东偏北 $angle 度方向  ”;

}else if($k1<0){

$angle = 180*atan(-$k)/M_PI;

$str= “聊友在您的西偏北 $angle 度方向  ”;

}

}else if($k2<0){

if($k1<0){

$angle = 180*atan($k)/M_PI;

$str = “聊友在您的西偏南 $angle 度方向  ”;

}

else if($k1>0){

$angle = 180*atan($k)/M_PI;

$str=”聊友在您的东偏南 $angle 度方向  ”;

}

}

}

return $str;

}

2014年7月29日 09:43
0 0

这个很简单,以前做一个简单的微博系统,就是计算方圆距。 定好坐标轴,x,y轴,然后你的位置就是x,y轴的交点,计算用公式即可。

设A(X1,Y1)、B(X2,Y2),
则 ,
(x1-x2)平方+(y1-y2)平方=开根,取得绝对值即可。

2014年8月07日 19:42
0 0

说下你的xy在什么环境中。
如直线上、xy坐标上、立体坐标上。不一样

2014年7月29日 16:09
0 0

这个很简单  数学问题   x y坐标 x坐标计算东西方向  y坐标计算南北方向

2014年7月29日 06:10

相关推荐

    经纬度计算距离、方位角等java源码

    在"Caculate.java"源码中,我们可以预见到这样的函数:一个接受两个点的经纬度作为参数,返回它们之间的距离;另一个可能接受一个点的经纬度、距离和方位角,计算出第二个点的经纬度。 在实际应用中,这些计算可能...

    java计算雷达屏幕上两点之间距离的应用程序

    在Java编程语言中,开发一个计算雷达屏幕上两点之间距离的应用程序是一项重要的任务,特别是在空中交通控制这样的关键领域。这个应用程序需要准确地计算雷达屏幕上显示的两个目标点之间的直线距离,以便为空管人员...

    用JAVA实现一个推箱子游戏.pdf

    例如,当小人的移动方向的下一个位置的数据是4时,表示前面有一个箱子;如果箱子的下一个位置不是1也不是4,那么箱子可以移动。小人和箱子的位置在移动后需要更新二维数组中的数据,以反映新的状态。 整个游戏的...

    用Java多线程动态演示自由落体运动和平抛运动

    在Java多线程环境下,可以创建两个线程,一个负责水平方向的运动,另一个负责垂直方向的运动。这样,平抛物体的水平位移和垂直位移可以独立计算,同时更新,从而实现平抛运动的动态展示。 实现这些动态演示的关键...

    JAVA编写的一个贪吃蛇游戏

    这通常通过创建两个线程实现:一个用于渲染游戏画面,另一个用于处理游戏逻辑。 4. **数据结构**:游戏中的蛇、食物等元素的状态需要被存储和管理。这可能涉及数组、链表或其他数据结构。 5. **碰撞检测**:检测蛇...

    用Java实现图形的仿射变换

    在`cg_191_02`这个文件中,可能包含了一个示例代码或图像,演示了如何在Java2D环境中实现这个过程。通过阅读和分析代码,你可以更好地理解上述步骤是如何具体实施的。如果你遇到了困难,可以查阅Java2D的官方文档,...

    java图像识别(判断两个图是否相似)

    在Java中进行图像识别,尤其是判断两张图片是否相似,是一个涉及计算机视觉和图像处理的复杂任务。本话题将深入探讨如何使用Java实现这一功能。在实际应用中,图像相似度判断广泛应用于图像检索、内容识别、人脸识别...

    JAVA坦克大战+另一个版本源码

    6. **多线程编程**:为了实现流畅的游戏体验,Java坦克大战可能会使用多线程,一个线程负责渲染游戏画面,另一个线程处理游戏逻辑,防止因处理时间过长导致的画面卡顿。 7. **资源管理**:游戏可能包含音频、图像等...

    JAVA在计算机图形学中的应用

    在提供的代码中,我们看到一个简单的Java程序,它创建了一个窗口并允许用户输入两个点的坐标来绘制一条直线。这个程序展示了Java如何结合AWT(Abstract Window Toolkit)和Swing库来实现交互式的图形界面。 首先,...

    TSS_java_

    【描述】中提到,游戏的源代码被封装在一个JAR(Java Archive)文件中。JAR文件是Java平台特有的归档格式,用于打包相关的类文件、资源文件以及元数据。它允许开发者将多个文件打包成一个单一的可执行文件,便于分发...

    java编写弹球小程序

    一个线程负责游戏逻辑的计算(如弹球的碰撞检测),另一个线程负责更新GUI,这样可以避免界面卡顿,实现平滑的动画效果。 6. **碰撞检测**:弹球与挡板、墙壁之间的碰撞检测是游戏逻辑的关键部分。开发者需要计算...

    java多线程自由落体平抛运动

    在Java中,我们可以创建一个线程来模拟这个过程,通过循环计算每个时间间隔内的位移,直到达到特定条件,如落地或达到设定的最大时间。 平抛运动则涉及到物体同时在水平和垂直方向上运动,通常由水平初速度vx和垂直...

    JAVA贪吃蛇源代码

    在本主题中,我们关注的是一个经典的计算机游戏——贪吃蛇的Java实现。"JAVA贪吃蛇源代码"是一个教学资源,源自知名的教育机构传智播客。这个项目旨在帮助学习者理解和应用Java的基本编程概念,同时体验游戏开发的...

    贪食蛇源代码(java实现)及java文件

    在这个压缩包中,包含了四个Java源文件(Yard.java、Snake.java、Egg.java、Dir.java)以及一个编译后的jar可执行文件(Snake.jar)。让我们一一探讨这些文件所涉及的Java编程知识点。 1. **类与对象**:在Java中,...

    java(台球游戏)

    在Java中,每个台球都可以被表示为一个类实例,包含位置、速度、角度和颜色等属性。碰撞计算则涉及到了几何和物理学的知识,例如使用矢量运算来计算两球碰撞后的速度和方向变化。 1. **碰撞检测**:游戏中,为了...

    一个经典的Java小游戏Java五子棋

    在多线程方面,Java五子棋游戏可能包含两个线程:一个用于显示和处理用户交互,另一个用于执行游戏逻辑。这样可以确保游戏过程不会因为UI更新而阻塞。Java的Thread类和Runnable接口提供了实现多线程的基础。使用并发...

    java3D贪吃蛇小游戏

    食物是游戏中的另一个重要元素,通常随机出现在场景中。当蛇吃到食物时,分数增加,蛇的长度也会增长。为了实现这一功能,开发者可能使用了Java3D的`Sphere`或`Box`类来创建食物模型,并通过随机坐标生成器来确定其...

    java 3d 1.5.0 api

    纹理映射是Java 3D中的另一个关键特性,它允许将2D图像贴在3D物体表面,增加视觉细节和复杂性。此外,Java 3D 还支持透明度和混合模式,使得物体可以具有半透明效果。 在动画方面,Java 3D API 提供了时间感知的...

    Java作业,使用OpenCV实现的一个简单的贪吃蛇游戏.zip

    在Java代码中,蛇的每个位置可以表示为一个坐标点,随着游戏进行,蛇会按照特定方向移动,同时保持其“尾巴”(即之前的坐标点)不消失。当蛇吃到食物时,它的长度会增加,游戏得分也会相应提升。为了实现这一功能,...

    java简单的贪吃蛇完整代码

    在贪吃蛇游戏中,可能会有一个线程负责处理用户输入,另一个线程负责游戏逻辑的更新,以确保游戏流畅运行。Java的Thread类和Runnable接口可用于实现这一目标。 【数据结构】 在实现蛇的身体时,数据结构的选择至关...

Global site tag (gtag.js) - Google Analytics