Я использую левый и правый аудиоканалы для создания вектоскопа Лиссажу. Слева — x, а справа — y, оба значения никогда не выходят за пределы значений 1 и -1. Эти координаты также смещены под углом 45 градусов, чтобы дать мне следующий вид.
Так что я делаю очень просто
// converting x and y value from (-1 - 1) to (0 - 1)
float x = LeftChannelValue/2 + 0.5
float y = RightChannelValue/2 + 0.5
// multiplying the width and height with X and Y to get a proper square
// width and height have to be the same value
float new_X = x*(width*0.5)
float new_Y = y*(height*0.5)
// doing two dimensional rotating to 45 degrees so it's easier to read
float cosVal = cos(0.25*pi)
float sinVal = sin(0.25*pi)
float finalX = (((new_X*cosVal)-(new_Y *sinVal))) + (width*0.5) //adding to translate back to origin
float finalY = ((new_X*sinVal) + (new_Y *cosVal))
Это дает мне результаты на этой картинке.
Как бы я изобразил полярные координаты, чтобы он не выглядел как квадрат, а как круг?
Я пытаюсь получить эту точку зрения, но абсолютно не понимаю, как это соотносится с левым и правым. я использую https://en.wikipedia.org/wiki/Polar_coordinate_system в качестве ссылки.
Я понял, что я хотел.
Я пытался построить эти координаты в полярном графике. Я все делал неправильно.
В конце концов я понял, что для того, чтобы преобразовать координаты x, y, мне нужно было мое собственное определение того, что должен представлять радиус и угол на моей диаграмме x, y. В моем случае я хотел, чтобы радиус был наибольшим абсолютным значением x и y
Единственная проблема заключалась в попытке выяснить, как рассчитать угол, используя значения x и y.
Вот как я хотел, чтобы мой круг работал,
учитывая эту информацию, вы можете выяснить остальные координаты для круга до 180 & — 180 градусный угол
Я должен был использовать условия (если еще операторы), чтобы правильно определить правильный угол, заданный x и y.
И затем, чтобы построить график полярной координаты, вы просто конвертируете с помощью преобразования cos и sin в координаты x, y.
Мне нравится программировать, я не очень хорошо разбираюсь в исчислении.
Других решений пока нет …