Если этот вопрос больше подходит для обмена стеками математики, пожалуйста, дайте мне знать.
Я знаю основную c идею векторных изображений: изображения представлены математическими уравнениями, а не растровым изображением, что делает их бесконечно масштабируемыми.
Вычисление этого кажется прямым для чего-то вроде прямой линии, но для более сложной, такой как:
https://www.wolframalpha.com/input/?i=zoidberg-like+curve
Мне интересно, как программа могла бы начать выводить это уравнение в качестве вывода.
Разбивает ли оно изображение на маленькие кривые сегменты и пытается аппроксимировать каждый из них? Что если большая многосегментная часть изображения может быть эффективно представлена с использованием только одного уравнения, но поскольку компьютер «видит» только один сегмент за раз, он не осознает этого. Будет ли компьютер тестировать каждую комбинацию сегментов?
Мне было просто любопытно и интересно, может ли кто-нибудь предоставить высокоуровневое описание базового c процесса.
В качестве примера рассмотрим изображение, представленное уравнением (1):
![enter image description here](https://i.stack.imgur.com/6RFe8.png)
y = abs(x)
Оно также может быть представлено как (2):
y = -x (-inf, 0)
y = x (0, inf)
Но вы сможете понять, что это можно представить как (1), если бы вы знали, как выглядит все изображение. Если вы сканируете слева направо и пытаетесь представить изображение в виде уравнения, то вы получите (2).