Построить функцию в функции функции

Я не знаю, смогу ли я полностью объяснить, что мне нужно. Но я попробую.

У меня есть изогнутый кадр, и на этом фрейме я должен нарисовать график сил/моментов/стресса. Рамка имеет 9 интервалов. Пока я растянул рамку и рисую диаграммы на растянутой -zer-линии.

Но что мне делать, если я хочу нарисовать его на реальном кадре?

Несколько примеров:

  • Я пытаюсь сделать что-то вроде этого: enter image description here

  • Это реальный кадр: enter image description here

С соответствующими силами, воздействующими на кадр.

Если я растягиваю диаграммы конечных сил/моментов/напряжений, это выглядит так: enter image description here

И мне это нужно вот так: enter image description here

Надеюсь, вы знаете, что я имею в виду:-) Я не парень из Photoshop: -)

Изменить: На мой взгляд, если вы рисуете какой-либо сюжет, вы рисуете его в функции нулевой линии, но что, если вы измените нулевую линию на другую функцию.

Это похоже на построение двух строк и заполнения области между ними, но только нижняя строка - это нормальная нулевая линия, а вторая строка - это функция первой строки.

  • Я думаю, мы могли бы перейти от точки, где: enter image description here Чтобы вторая функция соответствовала первой функции функции.: -)

Любые мысли приветствуются: -)

Ответ 1

Общая идея для такого графика следующая:

Пусть кривая из вашего верхнего участка описывается как y = f (x). В Matlab вы получите множество точек:

x = x0:dx:xf;
y = f(x);

f должна быть внешней функцией или формулой.

Чем у вас есть нулевая функция y2 = g (x2). Первой проблемой вам нужно преобразовать эту функцию в параметрическую форму типа y2 = gy (t), x2 = gx (t). Если у вас будет такое параметрическое представление, вы можете получить два точечных набора, расположенных на равных расстояниях по кривой нулевой линии:

t=x0:dx:xf;  % same as x above
x2=gx(t);
y2=gy(t);

Вторая проблема, которую вам нужно получить нормальный вектор для каждой точки нулевой кривой.

Если у вас есть прямая формула y2 = g (x2), вы можете использовать уравнение:

nx - x2 (k) + g '(x2 (k)) * (ny-y2 (k)) = 0

nx ^ 2 + ny ^ 2 = 1

g 'обозначает производную от g; x2 (k), y2 (k) - точки кривой нулевой линии; nx, ny - компоненты нормального вектора для каждой точки.

Позволяет получить два набора nx и ny для каждого t, определенного выше.

Наконец, у вас будет множество требуемых точек для кривой силы:

x=x2+nx;
y=y2+ny;