目标C /解决数学系统

时间:2013-04-09 12:40:31

标签: objective-c xcode math computational-geometry

我一直在尝试开发一个使用用户提供的信息计算曲线方程的简单应用。

例如,假设用户具有圆的方程和椭圆的方程,并且他想知道交点。 从数学上讲,这是一个非常简单的问题,但我无法弄清楚如何告诉Xcode解决该系统。

我已经查看了Accelerate框架,我找到了" dgesv"拉帕克的功能。对于线路系统来说,这将是一个完美的解决方案,但是像我之前所说的更复杂的系统呢?

我甚至想知道如何计算曲线的切线以及其他类似的几何问题。

1 个答案:

答案 0 :(得分:0)

  

例如,假设用户具有圆的方程和椭圆的方程,并且他想知道交点。从数学上讲,这是一个非常简单的问题,但我无法弄清楚如何告诉Xcode解决该系统。

圆和椭圆交叉的问题通常涉及求解四次多项式方程。你可以把它分解到三度,但单凭平方根就不够了。所以我说这不是一个“安静的简单问题”。话虽这么说,一些数字库确实支持用于查找单变量多项式的实数或复数根的算法。所以你要消除你的一个变量(例如使用结果或Gröbner基),然后将得到的多项式反馈给它。不确定哪些库最适合Objective C世界。但是,无论如何,要求建议特定图书馆的问题都将被视为偏离主题,因此请使用我提到的关键字来找到符合您需求的内容。

  

我甚至想知道如何计算曲线的切线以及其他类似的几何问题。

切线方向简单地与隐式形式的梯度正交。换句话说,将参数化的曲线描述为x = f(t)和y = g(t),而是隐含地描述为f(x,y)= 0。如果圆圈看起来像 x 2 + y 2 + ax + 通过 + C = 0。然后根据 x y 计算偏导数。那是2x + a和2y + b。因此(2x + a,2y + b)垂直于圆,并且(2y + b,-2x-a)是切向的。不确定你认为与此相似的是什么。