我有2个物体,当我移动一个物体时,我想从另一个物体获得角度.
例如:
Object1X = 211.000000, Object1Y = 429.000000
Object2X = 246.500000, Object2Y = 441.500000
Run Code Online (Sandbox Code Playgroud)
我在阳光下尝试过以下各种变化:
double radians = ccpAngle(Object1,Object2);
double degrees = ((radians * 180) / Pi);
Run Code Online (Sandbox Code Playgroud)
但我只是得到2.949023返回我想要45度等的东西.
我实施了http://www.movable-type.co.uk/scripts/latlong.html中的"方位"公式.但它似乎非常不准确 - 我怀疑我的实施中有些错误.你能帮我找到它吗?我的代码如下:
protected static double bearing(double lat1, double lon1, double lat2, double lon2){
double longDiff= lon2-lon1;
double y = Math.sin(longDiff)*Math.cos(lat2);
double x = Math.cos(lat1)*Math.sin(lat2)-Math.sin(lat1)*Math.cos(lat2)*Math.cos(longDiff);
return Math.toDegrees((Math.atan2(y, x))+360)%360;
}
Run Code Online (Sandbox Code Playgroud) 我试图使用css 3变换旋转功能将div旋转到一个点.
我达到了这一点:jsfiddle链接
$(document).ready(function(){
var scw,sch,scx,scy;
calcCenter();
$(window).resize(function() {
calcCenter();
});
function calcCenter(){
sch = $(window).height();
scw = $(window).width();
scx = scw/2;
scy = sch/2;
$(".circle").remove();
var circle = $("<span></span>").addClass('circle').text('.');
circle.css('top',scy-50+"px");
circle.css('left',scx-50+"px");
$(document.body).append(circle);
}
function calcAngle(p1,p2){
var angle = Math.atan2(p2.y - p1.y, p2.x - p1.x) * 180 / Math.PI;
return angle;
}
$(document).click(function(e){
var box = $("<span></span>").addClass('box');
var x = e.pageX,y=e.pageY;
box.css('top',y+"px");
box.css('left',x+"px");
$(document.body).append(box);
var angle = calcAngle({x:x,y:y},{x:scx,y:scy});
box.css('-webkit-transform','rotate('+(90+angle)*-1+'deg)');
box.draggable({
drag: function(e) {
var box = $(this);
var x …Run Code Online (Sandbox Code Playgroud)