Команда MATLAB's surf
позволяет передать ее необязательно X
и Y
данные, которые определяют некартесные компоненты x-y. (они существенно меняют базисные векторы). Я хочу передать аналогичные аргументы функции, которая будет рисовать линию.Нарисуйте линию с некартовыми координатами в MATLAB
Как построить линию, используя некартовую систему координат?
Приносим извинения, если моя терминология немного не работает. Это по-прежнему может быть формально декартово, но это не будет квадрат в том смысле, что один блок в направлении x ортогонален одному блоку в направлении y. Если вы можете исправить мою терминологию, я бы очень признателен!
РЕДАКТИРОВАТЬ:
Ниже лучше демонстрирует то, что я имею в виду:
Команды:
datA=1:10;
datB=1:10;
X=cosd(8*datA)'*datB;
Y=datA'*log10(datB*3);
Z=ones(size(datA'))*cosd(datB);
XX=X./(1+Z);
YY=Y./(1+Z);
surf(XX,YY,eye(10)); view([0 0 1])
производит следующий график:
Здесь, X и Размеры Y не ортогональны или равно я разнесены. Одна единица в х может соответствовать 5 см в направлении х, а следующая единица в х может соответствовать 2 см в направлении х + 1 см в направлении у. Я хочу повторить эту функциональность, но рисуя линию вместо прибоя Например, я ищу функцию, где:
straightLine=[(1:10)' (1:10)'];
my_line(XX,YY,straightLine(:,1),straightLine(:,2))
будет производить линию, которая прослежена красные квадраты на прибой графике.
Я не уверен, что я знаю, что вы имеете в виду. Координаты 'plot', так же как' surf', должны быть заданы в декартовой системе координат. Однако вы можете * параметризовать * свои данные, чтобы получить 'x' и' y' как функцию ваших собственных, некарцевых координат. Я имею в виду 'phi = linspace (0,2 * pi, 50); г = соз (фи)^2.; . Х = г * соз (фи); . У = г * Sin (фи); участок (х, у) '. Это должно быть что-то вроде «polar (theta, r)». Отказ от ответственности: я понимаю, что полярная система координат локально ортогональна, но я надеюсь, что вы поймете мою мысль. Так что, пока вы знаете, что преобразование из вашей пользовательской системы координат в Cartesian, вы должны быть в порядке –
Возможно, вы ищете что-то вроде [изометрической проекции] (https://en.wikipedia.org/wiki/Isometric_projection)? – beaker
@beaker, который может работать, но я не проецируюсь из 3D в 2D. – chessofnerd