这个问题在三年多前就被提出过了.给出了答案,但是我发现解决方案存在问题.
下面的代码在R.我已经将它移植到另一种语言,但是直接在R中测试了原始代码,以确保问题不在于我的移植.
sunPosition <- function(year, month, day, hour=12, min=0, sec=0,
lat=46.5, long=6.5) {
twopi <- 2 * pi
deg2rad <- pi / 180
# Get day of the year, e.g. Feb 1 = 32, Mar 1 = 61 on leap years
month.days <- c(0,31,28,31,30,31,30,31,31,30,31,30)
day <- day + cumsum(month.days)[month]
leapdays <- year %% 4 == 0 & (year %% 400 == 0 | year %% 100 != 0) & day >= 60
day[leapdays] <- day[leapdays] + 1
# …Run Code Online (Sandbox Code Playgroud) 我可以在网上找到LUA中只有一个功能,但它提供了错误的值(用专业的在线工具测量).
看起来从日出到中午之后的数学运算,但之后,太阳的角度又回到了日出的位置.应该从106°到253°,目前从106°到~180°到106°.
我正在使用的功能:
-- solar altitude, azimuth (degrees)
function sunposition(latitude, longitude, time)
time = time or os.time()
if type(time) == 'table' then time = os.time(time) end
local date = os.date('*t', time)
local timezone = (os.time(date) - os.time(os.date('!*t', time))) / 3600
if date.isdst then timezone = timezone + 1 end
local utcdate = os.date('*t', time - timezone * 3600)
local latrad = math.rad(latitude)
local fd = (utcdate.hour + utcdate.min / 60 + utcdate.sec / 3600) / 24
local g = (2 …Run Code Online (Sandbox Code Playgroud) 给定时间,纬度和经度,我想计算太阳的位置.我在这里找到了这个很棒的问题和答案:太阳在一天中的位置,经度和纬度.但是,当我评估函数时,我得到的结果不正确.考虑到答案的质量,我几乎可以肯定我的结果有些不对劲,但我问这个问题是试图解决问题的记录.
以下是为方便起见,下面重印的功能代码:
astronomersAlmanacTime <- function(x)
{
# Astronomer's almanach time is the number of
# days since (noon, 1 January 2000)
origin <- as.POSIXct("2000-01-01 12:00:00")
as.numeric(difftime(x, origin, units = "days"))
}
hourOfDay <- function(x)
{
x <- as.POSIXlt(x)
with(x, hour + min / 60 + sec / 3600)
}
degreesToRadians <- function(degrees)
{
degrees * pi / 180
}
radiansToDegrees <- function(radians)
{
radians * 180 / pi
}
meanLongitudeDegrees <- function(time)
{
(280.460 + 0.9856474 * time) …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用ROTATION_VECTOR类型的传感器数据.
使用我的Nexus 5,我可以从方向[0]获得方位角,并且可以使手机朝向下图所示的范围(这是非常准确的).
由于我在不同的设备上尝试了我的应用程序,我发现传感器值与我的Nexus 5测试设备不同.在我的三星Galaxy Nexus和三星Galaxy S3 Mini上,方位角受到倾斜设备的影响,如图所示.
TYPE_ROTATION_VECTOR正在使用传感器融合,这就是我使用传感器测试应用检查不同设备上的单个传感器值的原因.在Nexus 5上,当倾斜设备时,z轴的方向值保持大致相同,在三星Galaxy Nexus上,z的值在倾斜时变化(从直立到躺着大约90°).我担心传感器融合正在使用这些值,这就是为什么我的方位角在不同的设备上是不同的.
有没有人遇到类似的情况,甚至更重要的是:有没有人有解决方法或不同的方式来接收方位角?
为了确保,我寻找后置摄像头指向的方向......
这是我的代码:
final float[] mRotationMatrix = new float[9];
final float[] mRotationMatrixFromVector = new float[9];
final float[] orientation = new float[3];
Run Code Online (Sandbox Code Playgroud)
...
SensorManager.getRotationMatrixFromVector(mRotationMatrixFromVector,
event.values);
// enables usable range like in picture
SensorManager.remapCoordinateSystem(mRotationMatrixFromVector,
SensorManager.AXIS_X, SensorManager.AXIS_Z,
mRotationMatrix);
SensorManager.getOrientation(mRotationMatrix, orientation);
Run Code Online (Sandbox Code Playgroud) android azimuth device-orientation android-sensors sensor-fusion
我必须显示用户指向Android设备的方向.
我正在使用Sensor.TYPE_ACCELEROMETER,Sensor.TYPE_MAGNETIC_FIELD以获得方位角,俯仰,滚动.但我能够弄清楚如何从这里获得方向(北,南,东,西,......).
请帮忙
谢谢
我正在使用Android设备获取标题(方位角或偏航角).
Android API使用Accelerometer值+ mganetic字段来计算矩阵旋转,然后从矩阵中提取方位角(也称为SensorManager.getOrientation(...))但结果非常不准确!特别是如果手机受到某些磁性物质的干扰.
然后我有陀螺仪,如果我整合了陀螺仪时间的价值,我就能得到一个实际的角度,但是像所有人都知道的那样:p,这可能会漂移... 10秒后甚至很难我'我没有移动10°漂移的角度......
所以在这里,我在一侧有accel + magneto的结果,它在磁场附近相当废话,另一方面我有陀螺的结果非常好,但随着时间的推移漂移......
所以我的问题是,是否有一种简单或聪明的方法将两个结果组合在一起以获得一种"稳健"的航向估算?我说很容易,因为我知道有卡尔曼滤波器..但即使是艰难的我读了理论50次我也不能得到一个该死的东西:).
谢谢!
我正在开发一款应用程序,要求用户将iPhone瞄准太阳以触发特殊事件.
我可以根据陀螺仪和CoreMotion框架检索设备3D方向四元数,从中我可以获得偏航,滚动和俯仰角度.我还可以根据当前日期和时间(GMT)以及纬度和经度计算太阳的方位角和天顶角.我接下来要弄清楚的是如何比较这两组值(手机方向和太阳位置)以准确地检测设备与太阳的对齐.
关于如何实现这一点的任何想法?
我有一个加载了 Three.js 的 3D 对象,该对象只能从前面看到,因为它是一个平面,而从后面看它是透明的......
\n\n通过轨道控制,我可以限制方位角和极角的偏移......
\n\n为了使 3D 有吸引力,它应该开始旋转......
\n\nfunction animate() {\n if ( mesh ) {\n mesh.rotation.y += .005;\n }\n requestAnimationFrame( animate );\n render();\n}\nRun Code Online (Sandbox Code Playgroud)\n\n如何限制 -90\xc2\xb0 和 90\xc2\xb0 之间的来回运动?
\n我有一个球.我知道它的方位角和速度.我想计算弹跳后的方位角(可能是墙).让我们调用方位角alpha.图片:

我知道阿尔法.我知道墙的方位角.我需要 "?".Beta会很好(但不是那么必要).
azimuth ×10
android ×3
astronomy ×3
math ×3
geometry ×2
r ×2
angle ×1
animation ×1
core-motion ×1
coronasdk ×1
gyroscope ×1
ios ×1
javascript ×1
lua ×1
orientation ×1
quaternions ×1
sdk ×1
sensor ×1
sun ×1
three.js ×1