给定坐标范围内的2个角度-PI - > PI,它们之间的两个角度中最小的值是多少?
考虑到PI和-PI之间的差异不是2 PI而是零.
例:
想象一个圆圈,从中心出来2条线,这些线之间有2个角度,它们在内部的角度也就是较小的角度,以及它们在外部产生的角度,也就是更大的角度.加起来时两个角度都会形成一个完整的圆圈.假设每个角度都可以在一定范围内,那么考虑到翻转,角度值越小
我想得到一个简单的解决方案来计算一条线的角度(就像一个时钟的指针).
我有2分:
cX, cY - the center of the line.
eX, eY - the end of the line.
The result is angle (0 <= a < 360).
Run Code Online (Sandbox Code Playgroud)
哪个功能能够提供这个值?
可能重复:
如何计算两点相对于水平轴的角度?
我一直在寻找这个年龄,这真的很烦我,所以我决定只问...
提供我有两个点(即X1,Y1,和X2,Y2),我想计算这两个点之间的角度,假设的是,当Y1 == y 2和X1> X2的角度为180度...
我有以下代码,我一直在使用(使用高中的知识),我似乎无法产生预期的结果.
float xDiff = x1 - x2;
float yDiff = y1 - y2;
return (float)Math.Atan2(yDiff, xDiff) * (float)(180 / Math.PI);
Run Code Online (Sandbox Code Playgroud)
提前谢谢,我很沮丧......
我需要计算两点之间的角度,其中一个固定点通过一条线与给定的两点相连.
这是一张图片,说明了我的需求:

这是我到目前为止所尝试的:
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)
说它没有提供正确答案毫无意义.
我目前有一个不好的方法,它只是将起点转换为1/-1,具体取决于x/y坐标是否超出或低于当前坐标,并将其添加到ArrayList直到起点.equals(结束) ),这是一个糟糕的解决方案,因为它创建了一个非常糟糕的路径,看起来像下面的黑色路径.

我正在尝试在两点之间生成点的直接路径(与Graphics.drawLine相同的行).
我猜我需要使用Math类来获得角度,但我对Math API并不是很熟悉.
我有两点CLLocationCoordinate2D,让我们说A&B mapView.我想要一个箭头图像从一个点指向另一个点(A-> B).我无法找到transform箭头图像的正确角度.
请参阅此图片以供参考 
提前致谢.
所以我想测量用户在html5画布上滑动的速度和方向?
似乎应该有一些已经写好的东西,所以我不必重新发明轮子,但我找不到任何东西.有人知道JavaScript函数吗?
如果我必须自己做,我在想这个:
还有其他想法吗?
这是我的画布和我的形状,它听取触摸事件.触摸我的iphone或iphone模拟器时,我通常会收到1或2个事件.我看到了坐标.我正在使用kineticjs进行舞台和造型.
要尝试一下,请转到iPhone中的此网址,然后将手指放在圆圈上并将其推到某处.(或者,如果你有ios模拟器,你也可以使用它)
这是我的小提琴:http: //jsfiddle.net/jnylund/uRgZZ/16/
function writeMessage(messageLayer, message) {
var context = messageLayer.getContext();
messageLayer.clear();
context.font = '18pt Calibri';
context.fillStyle = 'black';
context.fillText(message, 10, 25);
var div = document.getElementById('tevents');
div.innerHTML = div.innerHTML + message + "<BR/>";
}
var stage = new Kinetic.Stage({
container: 'container',
width: 460,
height: 320
});
var layer = new Kinetic.Layer();
var messageLayer = new Kinetic.Layer();
var circle = new Kinetic.Circle({
x: stage.getWidth() / 2,
y: stage.getHeight() / 2,
radius: …Run Code Online (Sandbox Code Playgroud)