jjzjj

trigonometry

全部标签

java - 在 android canvas 中拖动旋转文本无法按预期工作

我在这里缺少一些东西,所以我希望你能分享一些关于我的信息。我正在Canvas中绘制一些文本。为此,我有一个类WordpublicclassWord{privateintx;privateinty;privateStringtext;}该应用允许用户旋转文本,我使用onDraw处理旋转protectedvoidonDraw(Canvascanvas){canvas.save(Canvas.MATRIX_SAVE_FLAG);canvas.rotate(angle,centerX,centerY)...canvas.drawText(word.getText(),word.getX(),w

android - Android获得标准化加速

我希望获得Android手机的加速度矢量。问题在于,加速度计的坐标是相对于手机的旋转而言的。我想要的是“绝对”加速度,即无论手机面对哪种方式,它都应返回相同的值。(我想检测正在滑雪的用户是否在不使用GPS的情况下滑下斜坡。我还需要能够区分滑行和升降椅的上升。)我可能可以通过将加速度计与陀螺仪结合使用来获得这些值,但是我不知道如何用陀螺仪的偏移量来抵消加速度计的值。这可能吗?如果可以,怎么办? 最佳答案 您描述的内容无法完成,除非您重新定义问题。为了帮助您重新定义它,我将概述主要问题:首先,我想您所说的“绝对加速度”是相对于地理引用的

c++ - 给定相机和 View 平面的 2D 点的 3D 坐标

我希望通过观察平面从相机生成光线。为了做到这一点,我需要我的相机位置(“眼睛”),向上,向右和朝向vector(朝向是相机在相机正在看的物体方向上的vector)和P,视平面上的点。一旦我有了这些,生成的光线就是:ray=camera_eye+t*(P-camera_eye);其中t是沿射线的距离(现在假设t=1)。我的问题是,如果点P位于观察平面上的(i,j)位置,我如何获得它的3D坐标?假设给定视平面的左上角和右下角。注意:从它不会在所有方向上无限延伸的意义上来说,观察平面实际上并不是一个平面。相反,人们可以将此平面视为宽x高图像。在x方向上,范围是0-->宽度,在y方向上,范围是

c++ - 从弧度到度的转换

我正在尝试用C++进行简单的三角函数计算。以下是我遇到的问题的示例。据我所知,C++以弧度而不是度数工作。因此,从弧度到度的转换应该是乘以180再除以pi的简单情况。一个简单的测试是tan(45),它应该等于1。但是下面的程序产生一个值92.8063...#includeusingnamespacestd;#includeintmain(){doublea,b;a=tan(45);b=a*180/3.14159265;cout怎么了? 最佳答案 你在倒退。不要将公式应用于tan的输出,而是将其应用于参数。此外,您还需要乘以pi再除以

c++ - 圆上两个度数标记之间的最短距离?

我正在寻找一个公式来找到圆上两个度数标记之间的最短距离(度数):例如,30度和170度(140度)。两个度数标记几乎可以是任何实数,不一定介于0和360之间(可以是负数,或远大于360,例如-528.2和740(即171.8度))。但是,距离应始终=0度。听起来很简单。但是,我一直在尝试为此找到一个好的解决方案,并且我尝试了很多不同的代码,但到目前为止我发现在我尝试过的所有情况下都不起作用。我在C++工作。有人有什么想法吗? 最佳答案 第1步:获取“原始”差异。例如,给定-528.2和740.0,这是1268.2。一种方式:raw_

php - MYSQL无法选取点间距离(lat,lng)=0的记录

我有一个休闲的mysql查询SELECTde.geoId,(6371*ACOS(COS(RADIANS(zde.latitude))*COS(RADIANS(de.latitude))*COS(RADIANS(de.longitude)-RADIANS(zde.longitude))+SIN(RADIANS(zde.latitude))*SIN(RADIANS(de.latitude))))ASdistanceFROMtbl_zipdeASzdeLEFTJOINtbl_country_deASdeON(de.admin1_code=zde.admin_code1)Wherezde.id

mysql - 在MySQL中计算风向的平均值

我有一个表格,每10秒在一个新行上显示风向(以及其他天气值)。方向以度数存储:0-360。目的这个平均值是什么意思?数据库每10秒存储一行信息。对于性能问题,我想将5天之前的数据聚合到每小时一行(平均)行。使用温度很容易实现:avg(temp)可以解决问题,因为温度不会在不同值之间跳跃。在盛行风的情况下,要达到这个“平均水平”要困难得多。以度数计算平均风向不像使用聚合函数avg()那样简单,因为它是一个圆,例如:dir1=10;dir2=350;avg()=(10+350)/2=180;哪个不准确;它应该是:0或360。所以在大学里的三角学课上,我脑子里想的是,如果我把它转换成弧度,并

ios - 使用反余弦的线之间的绝对角度

我想使用反余弦函数计算由三个点(其中一个点是两条线的交点)形成的两条线之间的角度,如下所示:CGFloata=initialPosition.x-origin.x;CGFloatb=initialPosition.y-origin.y;CGFloatc=currentPosition.x-origin.x;CGFloatd=currentPosition.y-origin.y;CGFloatangle=(180/M_PI)*acosf(((a*c)+(b*d))/((sqrt(a*a+b*b))*(sqrt(c*c+d*d))));不幸的是,acosf仅返回0到pi之间的值。我如何找到

swift - SceneKit 物理在局部空间中添加速度

我正在尝试使用physicsBody.velocity对不同方向的轴增加或减少速度来操纵玩家节点。问题是我无法找到将其应用到局部空间的方法,或者至少应用与对象所面对的方向相关的速度。换句话说,如果我没有旋转对象的节点,它就可以正常工作。如果我这样做,它仍会将速度添加到未旋转的空间。我知道有一种方法可以为当前的SCNVector3添加速度,但我无法弄清楚。ifisZThrustPositive{ifletvelocity=self.physicsBody?.velocity{ifvelocity.z*100我也在尝试以类似的方式使用angularVelocity旋转节点。只要节点没有移动

ios - 让 Swift 假设三角函数计算的度数

是否可以更改SwiftforiOS中的设置、属性等,以便它采用度数而不是弧度进行三角计算?例如sin(90)将计算为1。我有:letpi=3.14varr2d=180.0/pivard2r=pi/180...但是对于一些较长的三角方程,转换确实涉及到。 最佳答案 正如在其他答案中已经说过的,标准库中没有以度为单位的参数的三角函数。如果您定义自己的函数,那么您可以使用__sinpi(),__cospi()等...而不是乘以π://Swift2:funcsin(degreesdegrees:Double)->Double{return_