我想知道图形计算器如何能够如此快速地绘制函数和关系。
对于一个函数,我可以看到只是在域中以数字方式测试所有 x 值,然后以这种方式输出。但这对于关系(例如 x^2 + y^2 = 1)有何作用?对每个可能的 x 和 y 值进行数值测试并不是那么快,因为它会是 O(n^2),对吗?怎么可能?
谢谢你。
它基于缩放,当您放大时,您会渲染相同数量的值。该图表一次最多只能显示 5 个步骤,因此它不会检查所有 x 值,而只会检查步骤 *5 的 x 值。它也不会像您想象的那样呈现小数。它不是渲染 x=x/100 以使线条看起来平滑,而是渲染 x=x/screenres。这意味着,就像 99% 的图形程序一样,屏幕分辨率越高,速度就越慢。
大概 Desmos 使用 marching squares 算法来绘制这样的隐式函数图。