4

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

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

我查看了 Accelerate 框架,发现了 Lapack 的“dgesv”功能。对于线系统来说,这将是一个完美的解决方案,但是像我之前所说的更复杂的系统呢?

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

4

1 回答 1

0

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

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

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

切线方向简单地与隐式形式的梯度正交。换句话说,不要将曲线参数化地描述为 x=f(t) 和 y=g(t),而是隐含地描述为 f(x,y)=0。如果一个圆看起来像x 2 + y 2 + ax + by + c =0。然后计算关于xy的偏导数。即 2x+a 和 2y+b。所以 (2x+a, 2y+b) 垂直于圆,而 (2y+b, -2x-a) 是切线的。不确定您认为与此类似的内容。

于 2016-09-07T20:03:46.117 回答