我在新行上每隔10秒就有一张带风向的表格(以及其他天气值).方向存储为度数:0 - 360.
这个平均值是什么意思?数据库每隔10秒存储一行信息.对于性能问题,我想将5天之前的数据汇总到每小时一(平均)线.
随着温度很容易实现:avg(temp)可以解决问题,因为温度不会在很多不同的值之间跳跃.
随着盛行风,获得这种"平均"要困难得多.
以度为单位计算平均风向并不像使用聚合函数avg()那样简单,因为它是一个圆,例如:
dir1 = 10; dir2 = 350;
avg() = (10+350)/2 = 180;
Run Code Online (Sandbox Code Playgroud)
哪个不准确; 它应该是:0或360.
因此,在我的脑海中,我的大学三角学课程认为,如果我将其转换为Radians,并计算x和y分量,我将能够重新计算平均方向.
在PHP中,$ w ['w']是存储在数据库中的方向.
while($w = $stmt->fetch()){
$x += cos(deg2rad($w['w']));
$y += sin(deg2rad($w['w']));
}
$angle = atan2($y, $x);
$angle = 360 + round(rad2deg($angle));
Run Code Online (Sandbox Code Playgroud)
这个公式是否正确?
如果这个公式是正确的; 理想情况下,我想获得MySQL的完整功能.我是这样做的; 但我发现很多()的......
(360 + degrees(atan2(sum(sin(radians(W))), sum(cos(radians(W))))))) AS angle
Run Code Online (Sandbox Code Playgroud) 使用HTML5 Canvas和Javascript我需要在圆圈内的不同角度显示不同的值(可能用点表示).
示例数据:
val 34%@ 0°,
val 54%@ 12°,
val 23%@ 70°,
依此类推......
如果我有300 x 300px的画布并且圆的中心位于x:150px且y:150px,半径为150px,我将如何计算在12度时将点设置为54%的位置?
我的数学有点可怕xD
我会感激任何帮助,如果我不够清楚,请提出问题.
感谢您的倾听,并提前感谢您的深刻见解:D
编辑(更详细解释):
这是一张图片来说明我想要完成的任务:

我希望这使我的问题更容易理解.
(如您所见,与上述值不同)
Ty耐心等待!
您好编程世界,
我正在使用Google Maps API v3,并且有一个地图叠加层,需要从中获取特定坐标。
在图像中,我设法将左上角和右下角的两个像素坐标集手动转换为纬度和经度坐标。我发现了这些平等:
左上角:
(1像素 [x轴],1像素 [y轴])以像素等于...
(- 109.05005006119609° [经度], 41.00062580014626° [纬度])以纬度/经度表示
右下角:
( 575px [x轴], 423px [y轴])以像素等于...
(- 102.0423399657011° [经度], 36.99314427042206° [纬度])以纬度/经度
但是,我的老板后来决定,他宁愿让Google Maps用Google的折线图类来绘制它(因此我需要在纬度/经度坐标中绘制在叠加层中的每个边界角)。
我的问题是,给定这两套坐标,是否可以使用某种方程式或公式,以便可以找到像素坐标(在图像映射文件中已经存在)并将其转换为纬度/经度坐标。
示例:在132px x轴和10px y轴上的兴趣点= a°经度和b°纬度找到a和b。
感谢您的帮助,Llewgnolm
我正在构建手动/副手/判断因子旋转功能.
显然,旋转二维坐标系270°与其相同-90°且720°相同0°.
我想简化用户输入,使所有值都在-180°和之间180°.
我怎样才能在R中优雅地做到这一点?
Ps.:或者将值存储0°到更有意义360°?用户可能要旋转时钟-和逆时针,所以我觉得-180到180可能是从一个UX点更直观.
好的,所以我想在CGPoint周围旋转CGPoint(A)50度(B)有一个很好的方法吗?
CGPoint(A)= CGPoint(x: 50, y: 100)
CGPoint(B)= CGPoint(x: 50, y: 0)
这就是我想要做的事情:

在maxima中是否有一个内置函数可以从多项式函数得到一个带有系数的列表?并获得多项式的次数?
我发现的函数最相似args,但它也将变量与系数一起返回.我本来可以接受这个,当length与一起使用时还会更多地args返回学位.问题是args无法使用零度多项式.
是否有其他功能可以更好地适应这些目的?提前致谢.
我正在使用java。我有晒黑值。我真的很惊讶我找不到办法把它变成学位。我已经在搜索,但只找到了一种将度数变成棕褐色的方法。请帮忙。
我正在使用以下代码将弧度转换为度数并对其进行一些算术运算。
private double getDegrees(double rad)
{
double deg = rad * Mathf.Rad2Deg;
double degree = (-135 - deg) % 360;
return degree;
}
Run Code Online (Sandbox Code Playgroud)
数值计算不准确。我在 Python 中使用相同的代码,结果非常准确,如下所示,
def getDegree(rad):
return (-135 - math.degrees(rad)) % 360
Run Code Online (Sandbox Code Playgroud)
如何使用 c# 获得准确的度数?
Input: -2.54 Output: 10.750966993188058
Input 2.57 Output 77.6960764459401
Input -0.62 Output 260.9199271359733
Input 0.52 Output 195.1409838350769
Run Code Online (Sandbox Code Playgroud)
注意:输出后 (-135 - deg) % 360;
c#的输出如下,
Input -2.54 Output 11.0295281217168
Input 2.56 Output -282.127098553015
Input -0.63 Output -98.8646242270579
Input 0.51 Output -164.592296943409
Run Code Online (Sandbox Code Playgroud) 我想将角度从弧度转换为degress.我知道Matlab 2014有一个内置函数可以做到这一点,但在我的具体情况下,这个功能还不够好.基本上,角度pi/2是90度,-pi/2也是90度,但是我需要270度作为-pi/2的答案.把它想象成弧度/度圆,我需要每次逆时针计算角度.
我所做的功能如下:
function [Angle_deg] = Func_Rad2Deg(Angle_rad)
Angle_deg = Angle_rad * (180/pi);
if Angle_deg < -1
Angle_deg = Angle_deg + 360;
elseif Angle_deg >= -1e-6 && Angle_deg <= 1e-6
Angle_deg = 0;
end
end
Run Code Online (Sandbox Code Playgroud)
然而,当我使用以下(简单)示例测试时出现问题.
clear all; close all; clc;
%% Tester
vec = [pi -pi pi/2 -pi/2];
vec_deg1 = Func_Rad2Deg(vec);
for i=1:size(vec,2)
vec_deg2(i) = Func_Rad2Deg(vec(i));
end
Run Code Online (Sandbox Code Playgroud)
输出:
vec_deg1 =
180 -180 90 -90
vec_deg2 =
180 180 90 270
Run Code Online (Sandbox Code Playgroud)
从上面的例子中可以看出,当我尝试转换矢量时,我得到-pi/2的错误答案.但是,当我使用循环时,答案是理想的答案.这个例子是一个简单的例子,在我的代码中我有高达1000x1000的矩阵进行转换,因此我想限制for循环的数量.因此,我想知道是否有更简单的方法来做我想要的.也许我错过了一个Matlab函数?
谢谢,
我有以下函数可以将弧度转换为度数:
float DegreesToRadians(float degrees) {
return degrees * (PI / 180);
}
Run Code Online (Sandbox Code Playgroud)
当我现在这样做时:
sinf(DegreesToRadians(90));
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,这会返回 1。但是当我这样做时:
sinf(DegreesToRadians(180));
Run Code Online (Sandbox Code Playgroud)
它返回-8.74228e-08。有谁知道为什么会发生这种情况?(cosf 也会发生这种情况,但相反:180 -> -1; 90 -> -8.74228e-08)
degrees ×10
radians ×4
math ×2
trigonometry ×2
atan2 ×1
c# ×1
c++ ×1
canvas ×1
cgpoint ×1
coefficients ×1
formula ×1
google-maps ×1
html5 ×1
java ×1
javascript ×1
matlab ×1
maxima ×1
mysql ×1
pixels ×1
polynomials ×1
r ×1
rotation ×1
swift ×1