我试着写一个取小数度(纬度或长度)并将它们转换为DMS度分钟秒的函数.我知道我的意思是将小数点数乘以60然后再次为小数.但我是一个菜鸟.我会分开号码吗?
function ConvertDDToDMS(DD) {
eg. DD =-42.4
D= 42;
M= 4*60;
S= .M * 60;
var DMS =
return DMS //append Direction (N, S, E, W);
}
Run Code Online (Sandbox Code Playgroud)
我是在正确的轨道上吗?
我正试图从我的Android手机上获取我的传感器的倾斜角度,滚动角度,但到目前为止没有成功,
当我点击我应该给我3个角度的按钮时,我得到"结果:0.0 -0.0 -0.0"
package com.example;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Button;
import android.view.View;
public class MyActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final float[] mValuesMagnet = new float[3];
final float[] mValuesAccel = new float[3];
final float[] mValuesOrientation = new float[3];
final float[] mRotationMatrix = new float[9];
final Button btn_valider = (Button) findViewById(R.id.btn1);
final TextView txt1 …Run Code Online (Sandbox Code Playgroud) 我有一个实现的类,SensorEventListener我想tilt Angle用我的设备Accelerometer.
我在互联网上查找了一些例子但他们使用了
Sensor.TYPE_MAGNETIC_FIELD.
我相信我的设备没有这个传感器,因为当我进行以下检查时
manager.getSensorList(Sensor.TYPE_ACCELEROMETER).size(),我得到零.
有没有办法tilt Angle通过使用
Sensor.TYPE_ACCELEROMETER值来获得?
我需要计算两点之间的角度,其中一个固定点通过一条线与给定的两点相连.
这是一张图片,说明了我的需求:

这是我到目前为止所尝试的:
public static float GetAngleOfLineBetweenTwoPoints(float x1, float x2, float y1, float y2) {
float xDiff = x2 - x1;
float yDiff = y2 - y1;
return (float) (Math.atan2(yDiff, xDiff) * (180 / Math.PI));
}
Run Code Online (Sandbox Code Playgroud)
说它没有提供正确答案毫无意义.
我现在已经搜索了很长一段时间用于绘制两个箭头/线段之间的角度的函数.例如:
http://www.matrix44.net/cms/wp-content/uploads/2011/03/vector_dot_product.png
这可以轻松完成,还是必须找到半径段的功能?我很惊讶我还没有找到任何东西,因为R通常都有一个包装.
我需要一个算法来确定一个角度是否在另一个角度的某个度数范围内.
我的第一个想法是(a-x < b) && (a+x > b),但是当它必须处理从-179到180的环绕角度时它会失败.

在上图中,角度必须介于负边和正边之间的区域(绿色).如何确定角度(红线)是否落在该区域内?
我目前有一个功能,可以检测鼠标输入的方向.它返回每个部分的整数(0-3),如下所示.

我试图找出如何更改此函数以基于此插图生成输出:

基本上,我只想弄清楚用户是从左边还是右边输入图像.我曾尝试过几次试错,但我对这种类型的数学并不擅长.
确定方向的功能是:
function determineDirection($el, pos){
var w = $el.width(),
h = $el.height(),
x = (pos.x - $el.offset().left - (w/2)) * (w > h ? (h/w) : 1),
y = (pos.y - $el.offset().top - (h/2)) * (h > w ? (w/h) : 1);
return Math.round((((Math.atan2(y,x) * (180/Math.PI)) + 180)) / 90 + 3) % 4;
}
Run Code Online (Sandbox Code Playgroud)
pos对象在哪里:{x: e.pageX, y: e.pageY},$el是包含目标元素的jQuery对象.
我正在使用Python进行内核密度估计和高斯混合模型来对多维数据样本的可能性进行排序.每个数据都是一个角度,我不知道如何处理机器学习的角度数据的周期性.
首先,我通过向它们添加360来移除所有负角度,因此所有负面的角度变为正,-179变为181.我相信这优雅地处理-179的情况,类似的情况与179并没有显着差异相似,但它确实不处理像359这样的实例与1不同.
我想到的解决问题的一种方法是保持负值和负值+ 360值并使用两者中的最小值,但这需要修改机器学习算法.
是否有一个很好的预处理解决方案来解决这个问题?什么内置为scipy或scikit?
谢谢!
我想获得 360 度的角度......对于我的游戏,我需要知道玩家正朝着哪个方向前进......

此处的代码获得正确的角度,但仅以 90 度为增量:(意思是,当我单击左上象限时,我得到的角度为 0 到 90 度……左下角为 0 到 -90 度,等等。 ..)

var dY = this.pos.y-e.gameY; //opposite
var dX = this.pos.x-e.gameX; //adjacent
var dist = Math.sqrt((dY*dY)+(dX*dX)); //hypotenuse
var sin = dY/dist; //opposite over hypotenuse
var radians = Math.asin(sin);
var degrees = radians*(180/Math.PI); //convert from radians to degrees
this.calculatedAngle = degrees;
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到它的 360 度?
这是另一个示例:前两个代表问题...当我单击左上/左下象限时,它一直在从 x 轴绘制一个直角三角形...
我需要它像下面的 2 张图片一样,它一直在绘制角度:

我正在开展一个非常酷的项目,我正在收集有关光标移动的数据,但我遇到了一个问题,我认为我可以使用一些帮助.我不断阅读有关光标x和y位置的数据(以及其他相关数据),一旦光标超过y维度的某个阈值,我需要计算运动方向(角度).让我用一个图来说明我画的:
往往会发生的是光标以略微的直线移动,但随后朝向运动的末端弯曲.我需要计算θ,即蓝色矢量相对于正x轴的角度.我想出的想法是使用最后2个样本来很大程度上确定移动方向是什么,否则如果我使用太多样本,我会扭曲实际角度.为了给出一个极端的案例,让我跟进另一张图片:
这里每个点代表一个样本.请注意,如果我使用BOTH点,我想要的真实角度将是错误的(同样,我需要找到光标最后移动的方向,这是在行尾绘制的矢量).我不希望这个案子出现太多,但想知道是否有办法解决它,如果它.
最后,请注意,这些运动可以在第一或第二象限中发生,如果这有所不同.
我真的很感激这里的任何帮助.我用C++编写代码,但我想我可以翻译任何答案.谢谢.