Построение логарифмического графа (Javascript) - PullRequest
2 голосов
/ 21 февраля 2012

Это немного сложно, Я хотел бы создать несколько линий графика для частотного спектра.

например.

Ableton

Посмотрите, как линии графика оси X логарифмически изменяются таким образом ...

enter image description here

Что мне нужно, это математика, чтобы сделать это выше. А затем способ точного нанесения координат x на него.

Я хочу построить таким образом частоты в диапазоне от 20 Гц до 16000 Гц по оси X.

(я не слишком беспокоюсь о рисовании, я могу использовать холст, я просто застрял на математике)

Я думаю, что тогда мне понадобится функция для преобразования, скажем, 1525 Гц в пиксели (или%), которые будут нанесены на график.

Большое спасибо

1 Ответ

2 голосов
/ 21 февраля 2012

Я бы использовал что-то вроде этого (живой пример на jsFiddle ):

var min_f = Math.log(20) / Math.log(10),
    max_f = Math.log(16000) / Math.log(10),
    range = max_f - min_f,
    position_px = (Math.log(frequency) / Math.log(10) - min_f) / range * width_px
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...