Articles of 数学

视差XY和旋转 – 平铺计算

我有这个代码用于绘制我的视差背景 pGLState.pushModelViewGLMatrix(); final float cameraWidth = pCamera.getWidth(); final float cameraHeight = pCamera.getHeight(); final float shapeWidthScaled = this.mShape.getWidthScaled(); final float shapeHeightScaled = this.mShape.getHeightScaled(); //reposition float baseOffsetX = (pParallaxValueX * this.mParallaxFactorX); if (this.mRepeatX) { baseOffsetX = baseOffsetX % shapeWidthScaled; while(baseOffsetX > 0) { baseOffsetX -= shapeWidthScaled; } } float baseOffsetY = (pParallaxValueY * this.mParallaxFactorY); if (this.mRepeatY) { […]

如何计算具有一定角度的圆上的位置?

我试图弄清楚如何计算圆上的坐标。 为简单起见,我制作了一些图片 这是我拥有的信息的开始。 现在我需要计算新坐标,例如圆圈向右旋转90度。 就像下一张图片一样: 我需要计算新红点的坐标。 (我也需要不同程度,如20度)。 要做到这一点,我的计划是做以下事情: 计算两点之间的距离 计算北(上)和给定点之间的度数 计算具有度数(从后退)+需要转动的度数(在图像中90度)的新位置。 我的第一步是: distance = Math.sqrt((point1.x-point2.x)*(point1.x-point2.x) + (point1.y-point2.y)*(point1.y-point2.y)) 计算新学位的部分是: double theta = Math.atan2(targetPt.y – centerPt.y, targetPt.x – centerPt.x); theta += Math.PI/2.0; 计算新位置的最后一部分是: double x = mMiddleView.getX() + distance * Math.cos(Math.toRadians(theta)); double y = mMiddleView.getY() + distance * Math.sin(Math.toRadians(theta)); 但是,当我使用例如0度进行这些计算时,它仍然返回另一个值而不是原始坐标。 任何帮助,将不胜感激! 编辑Philipp Jahoda: 我的价值观是: distance +- 70, […]

在C中,tan(30)给出了负值! 为什么?

我观察到来自cmath库的tan(float)函数返回负值。 以下代码,运行时: #include …. // some calculation here gives me a value between 0.0 to 1.0. float tempSpeed = 0.5; float tanValue = tan(tempSpeed * 60); __android_log_print(ANDROID_LOG_INFO, “Log Me”, “speed: %f”, tanValue); 在我的日志文件中给我这个结果: Log Me: speed `-6.4053311966` 就目前我所记得的 tan(0.5*60) = tan(30) = 1/squareroot(3); 有人可以帮我这里,为什么我看到负值? 它与某些浮点大小错误有关吗? 或者我在做一些非常愚蠢的事情?

如何在EditText中输入“负十进制数”?

我正在制作一个计算器,我想确保用户能够输入“负十进制数”我单独看到xml文件中的选项,例如为了输入十进制数,EditText的inputType必须是numberDecimal,并且负数,inputType必须是“numberSigned”,但我需要两者。 如果我选择inputType作为“text”,那么如果不是数字,用户可以输入抛出exception的任何内容。 我不知道如何解决这个问题。

android将圆分成N个相等的部分并知道每个分割点的坐标

我要求根据数字(2,3 … n)将圆圈分成N个相等的部分。但我想要分割点的坐标。 我有一个圆,其centre(x,y)和radius(150)是已知的。 题: 是否有任何公式给出了分割点的坐标,如图所示。 任何人都可以告诉我公式。 我想用Java实现它 。 圆形图像的参考:

计算线段之间的交叉点

关于stackowerflow的线段之间的交叉点有很多问题,这里还有一个问题! 对不起,我需要帮助才能了解如何计算交叉点。 我在这里阅读了几个问题并查看了其他网站上的几个例子,但我仍然感到困惑,并没有得到它! 我不喜欢在没有工作原理的情况下复制和粘贴代码。 到目前为止,我知道我将比较每个线段的点,如Ax,Ay,Bx,By,Cx,Cy,Dx,Dy。 有人可以解释一下我将要计算的内容,如果有一个交叉点,计算结果会是什么? 这是我看到的示例代码之一。 我想我不需要交叉点,只知道线是否相交。 public static Point lineIntersect(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) { double denom = (y4 – y3) * (x2 – x1) – (x4 – x3) * (y2 – y1); if (denom == 0.0) { // Lines are parallel. […]

确定智能手机相机的视角

我正在尝试确定Droid Incredible智能手机相机的视野的大小。 我需要知道我正在开发的应用程序的这个值。 有谁知道如何以编程方式找出/计算它?

从GPS坐标计算平均速度的最佳实践

我这里有一个可以给我GPS坐标的设备。 我可以定义的时间间隔。 我想用它来计算驾驶或乘车旅行时的平均速度。 实际上,我使用一个正统公式来计算两点之间的距离,然后将其除以给定的时间间隔。 通过实施我遵循这个术语 。 不幸的是我只能find一个德语链接,但我认为这个公式应该可以用任何语言理解;) 不幸的是,使用这个公式和1秒的时间间隔给出了非常不准确的结果。 步行时的速度介于1 km / h和20 km / h之间。 所以我想知道是否有关于如何在两个GPS坐标之间实现距离计算的一般参考(我在SO上发现了类似的东西)和特殊情况,这是更新GPS坐标的最佳时间间隔?

什么是在java中解析数学expression式的好库?

我是Android开发人员,作为我的下一个应用程序的一部分,我需要评估各种用户创建的数学expression式和方程式。 我正在寻找一个很好的java库,它是轻量级的,可以使用用户定义的variables和常量,trig和指数函数等来评估数学expression式。 我环顾四周, Jep似乎很受欢迎,但我想听到更多建议,特别是那些以前使用过这些库的人。

如何暂停canvas在特定角度旋转2秒?

我做了一个旋转旋钮,但我想在特定角度停止旋钮2秒钟。 我想在260f和-20f停止它。 任何人都可以建议怎么做? 这是博客的代码。 我根据自己的要求做了很多改变。 public class RotatoryKnobView extends ImageView { private float angle = -20f; private float theta_old=0f; private RotaryKnobListener listener; public interface RotaryKnobListener { public void onKnobChanged(float arg); } public void setKnobListener(RotaryKnobListener l ) { listener = l; } public RotatoryKnobView(Context context) { super(context); initialize(); } public RotatoryKnobView(Context context, AttributeSet attrs) { super(context, […]