Articles of 数学

用于转换线的结束坐标的函数

我在一条线的末尾有两个点。 我需要得到这一行翻译的结束坐标。 平移将是与原始线距离为d的平行线。 这是我需要的图像: 所以我需要一个函数,我可以传递这两个点和距离,并获得返回的两个新坐标。 我一直坚持这个问题。 任何帮助将不胜感激! 谢谢!

直接在SQLite中计算两点之间的距离

在我的web / MySQL应用程序中,我有类似的东西来获得两点之间的距离: 6371 * acos(cos(radians(-19.83996)) * cos(radians(lat)) * cos(radians(-43.94910) – radians(lng)) + sin(radians(-19.83996)) * sin(radians(lat))) 但是我在SQLite中测试过并且这些数学函数(acos,cos,radians,sin)不存在。 有没有相当于我直接在数据库中计算距离的东西? 但是,我有一个使用此方法计算的iPhone应用程序。 工作得很好,但现在我需要在Android应用程序的数据库中执行相同的搜索。 提前致谢。 UPDATE 我有9000个点来计算距离并获得给定点的5个附近位置。

我无法理解PhotoView的getDisplayRect()实际返回的内容(构建android照片裁剪工具)

我正在尝试使用PhotoView库为照片构建裁剪工具,但我无法理解getDisplayRect()返回的值。 我在ImageView上设置照片就像这样: photo.setImageDrawable(new BitmapDrawable(getResources(), image)); 其中image是Bitmap对象。 然后我设置了一些缩放值: float minScale = ((float)image.getWidth() > (float)image.getHeight()) ? (float)image.getWidth() / (float)image.getHeight() : (float)image.getHeight() / (float)image.getWidth(); attacher.setMaxScale(minScale * 5f); attacher.setMidScale(minScale * 2.5f); attacher.setMinScale(minScale); attacher.setScale(minScale, (float)image.getWidth() / 2f,(float)image.getHeight() / 2f, false); attacher.update(); 其中attacher是PhotoViewAttacher对象。 当用户完成后,我使用以下内容来确定在ImageView可见的位图部分: RectF rect = attacher.getDisplayRect(); float scale = attacher.getScale(); PhotoData ret = new PhotoData(data); ret.x = (int)(Math.abs(rect.left) / […]

如何计算Arc中终点的坐标如果中心和起始坐标在Android中已知为扫描角度?

我正在制作一个饼图,其中我绘制了具有已知扫描角度的弧。现在我想在每个弧的中心显示标签,或者说从每个弧的中心绘制一条线。 鉴于我知道中心坐标,起始坐标,扫掠角和半径,我想计算结束坐标。 我也尝试过绘制一个匹配所有坐标的三角形并使用距离公式,但我不知道如何在java中求解方程式。 请给我一个合适的解决方案。

如何获得我翻译的矩阵然后旋转然后翻译然后旋转第二次?

在Android应用程序中,我想画一条跑腿。 为了输出腿的顶部,我做了类似的事情: // legCX,legCY is the location on screen about which the leg rotates. Matrix m = new Matrix(); m.postTranslate(-legCX,-legCY); m.postRotate(legRot); m.postTranslate(legCX,legCY); 然后我将矩阵设置到canvas上并绘制腿部。 如何在膝盖以下绘制腿部的第二部分? 它以与其上方的腿不同的速率旋转,并且具有随着腿在其上方移动的中心点。 我尝试了下面这个,但事实certificate最终结果是围绕某个单点旋转,这不会跟随上面的腿。 Matrix m = new Matrix(); m.postTranslate(-legCX,-legCY); m.postRotate(legRot); m.postTranslate(0,-legLength); m.postRotate(footRot); m.postTranslate(0,legLength); m.postTranslate(legCX,legCY); 我怀疑可能需要在两个不同的Matrix对象中进行两次旋转,然后以某种方式将它们组合起来,但我无法弄清楚究竟是怎么做到的。 编辑:这种types的矩阵似乎被称为“转换矩阵”。 组合多个操作称为转换组合。 但是,此主题的所有页面均未提及如何进行一系列翻译和轮换。 当然,如果您可以使用矩阵围绕一个点进行旋转,则必须能够以某种方式进行多个矩阵运算,以允许围绕一个点旋转,然后围绕另一个点进行额外旋转。 我已经尝试过关于骨骼animation的页面,但是我不能说出他们正在谈论的内容。

在2d坐标系中的特定点周围缩放

下面是我的坐标系图像: 我想要做的是,我想开始缩放canvas中的特定点,缩放工作正常但我的问题是我不知道如何计算在缩放时移animation布多少,请注意我我没有使用canvas.scale。 我只是在缩放时增加系统中每2个单元之间的距离,它的工作正常。 那么是否有任何方程可以帮助我找出在特定点缩放时偏移canvas的数量? 假设我想围绕点(0,4)缩放如何知道在缩放时移animation布有多少?

Java浮点精度问题

我有一个关于java中浮点运算及其精度的问题。 我确实在这里和谷歌进行了研究并遇到了一些解决方案,但在我的设计中实施它们时遇到了困难。 所以在Java中我正在使用BigDecimal类来使我的计算准确。 请注意,variables是double,并且在进行计算时,值的精度最多可达到右侧的8位小数。 显示的结果(精度)是已知的,这就是我将作为当前值存储的内容。 此外,所有值都是动态的(通过方法)。 传递的参数应该是currentValue +步长。 public void newValue(float value) { //Clip to valid range, can’t go over minimum/max value value = Math.max(minimumValue, Math.min(maximumValue, value)); // TODO Implement better Floating Point Arithmetic precision MathContext mcI = new MathContext(0, RoundingMode.HALF_UP); MathContext mcF = new MathContext(8, RoundingMode.HALF_UP); BigDecimal valueBD = new BigDecimal(value, mcF); BigDecimal minimumBD […]

在canvas上画一条弯曲的路径?

如何在Canvas上绘制二次曲线或三角曲线(如sin(x) )?

如何在Android的XML编辑器中插入特殊字符作为文本?

所以,我正在编写一个涉及使用一些数学符号的应用程序。 我在可视化XML编辑器中这样做。 有没有什么方法可以得到一个整数符号,或者一个“小于或等于”的符号? 像这样的东西。 谢谢!

GradientDrawable类的innerRadiusRatio和thicknessRatio之间存在什么样的联系?

假设我们有一个内半径为R2且外半径为R1的环。 根据文件: Inner radius of the ring expressed as a ratio of the ring’s width.For instance, if innerRadiusRatio=9, then the inner radius equals the ring’s width divided by 9我理解这意味着innerRadiusRatio = 2*R1 / R2 。 关于thicknessRatio,有: Thickness of the ring expressed as a ratio of the ring’s width. For instance, if thicknessRatio=3, then the thickness equals […]