• Регистрация
SpookyPike
SpookyPike 0.00
н/д

2D контурного графика из 2х массивов чисел

20.10.2020
Здравствуйте. У меня есть 2 массива чисел, которые задают 2д график вида Мне нужно из этого графика получить окружность, которая градиентно залита от центра (самый темный цвет) к краям (самый све...

Здравствуйте. У меня есть 2 массива чисел, которые задают 2д график вида Мне нужно из этого графика получить окружность, которая градиентно залита от центра (самый темный цвет) к краям (самый светлы цвет) в зависимости от значения по оси Y. То есть из этого графика надо сделать фигуру вращения вокуг 0го значения оси X и сделать контурный график.

Я пока не понмаю как это сделать. Заранеее брагодарен за помощь. 

Теги

    20.10.2020

    Комментарии

    • aBoomest
      aBoomest+942.89
      21.10.2020 06:06

      Масив чисел получен непонятно как или это известная вам функция?

      • SpookyPike
        SpookyPike0.00
        21.10.2020 08:04

        Неизвестная функция, точнее массив данных выходит из цикла

      • kurguz
        kurguz+270.00
        21.10.2020 09:08

        График напоминает функцию cos, если ее построить в полярных координатах, то будет окружность.

        • aBoomest
          aBoomest+942.89
          21.10.2020 19:09

          Хм. Неожиданно случайно перечитал ваш ответ, и понял что имели ввиду. Мысль понял. Согласен, как вариант, ибо т.с. не совсем может четко изложил вопрос.
          Думал изначально, что нужно просто на основе массива сделать поверхность вращения.

          Отвлеченно: Никогда не задавался вопросом: а есть в матлаб сферическая система координат? Цилиндрическая? Пересчитать-то можно. А вот чтоб сразу не xyz, а \phi,\tetha,r Погуглил.

          • kurguz
            kurguz+270.00
            21.10.2020 19:44

            Я вот тоже не задавался :) в справке сейчас не нашел ни цилиндрической, ни сферической, но в интеренете где-то их встречал. Сейчас уж наверно проще их написать, чем найти. Когда совсем лень, можно найти реализацию на С/С++/Java (благо их полно) на каком-нибудь GitHub и заинтегрировать к себе в алгоритм.

        • aBoomest
          aBoomest+942.89
          21.10.2020 10:28

          Дополнение к предыдущему: еще можно так

          1. Если ф-ция известна (допустим z = f(x))? то вам надо просто рассчитать z = f(корень(x^2 + y^2)) и это построить.
          2. Если на входе просто числа, то имхо проще для каждого значения Z (это будет радиус) вычислить набор точек соответствующей окружности и уже их строить.