vrcoordm2vr

Преобразуйте координаты MATLAB в координаты VR

Синтаксис

Описание

пример

vr = vrcoordm2vr(m) преобразует точку с координатами в MATLAB® система координат к системе координат Виртуального мира.

Примеры

свернуть все

Этим примером является изменение Автомобиля в Горном примере с координатами для перевода, заданного в системе координат MATLAB.

Создайте vrworld объект, представляющий виртуальный мир и открытый это.

world = vrworld('vrmount'); 
open(world);
view(world); 

Идентифицируйте узлы в виртуальном мире с помощью nodes команда

nodes(world)
View1 (Viewpoint) [VR Car in the Mountains]
	Camera_car (Transform) [VR Car in the Mountains]
	VPfollow (Viewpoint) [VR Car in the Mountains]
	Automobile (Transform) [VR Car in the Mountains]
	Wheel (Shape) [VR Car in the Mountains]
	Tree1 (Group) [VR Car in the Mountains]
	Wood (Group) [VR Car in the Mountains]
	Canal (Shape) [VR Car in the Mountains]
	ElevApp (Appearance) [VR Car in the Mountains]
	River (Shape) [VR Car in the Mountains]
	Bridge (Shape) [VR Car in the Mountains]
	Road (Shape) [VR Car in the Mountains]
	Tunnel (Transform) [VR Car in the Mountains]

Доступ к Automobile vrnode объект путем присвоения его указателю

car = world.Automobile
car = 

	vrnode object: 1-by-1

	Automobile (Transform) [VR Car in the Mountains]

Переместите автомобиль вдоль первого раздела дороги.

xz_my = zeros(12,3);

xz_my(:,2) = 1:12;
xz_my(:,1) = 3;
xz_my(:,3) = -0.25;

for idx = 1:length(xz_my)
   car.translation = vrcoordm2vr(xz_my(idx,:));
   vrdrawnow;
   pause(0.1);
end

Вращайте автомобиль немного, чтобы добраться до второй части дороги. Это сделано путем установки rotation свойство Automobile узел.

car.rotation = [0 1 0 -0.7];
vrdrawnow;

Переместите автомобиль через второй раздел дороги

z2 = 12:26;
x2 = 3:1.4285:23;
y2 = -0.25 + zeros(size(z2));
xz_my2 = [x2' z2' y2'];

for idx = 1:length(xz_my2)
   car.translation = vrcoordm2vr(xz_my2(idx,:));
   vrdrawnow;
   pause(0.1);
end

Вращайте автомобиль еще раз, чтобы стоять перед третьим фрагментом дороги и продолжиться в конец.

car.rotation = [0 1 0 0];
x3 = 23:43;
z3 = 26 + zeros(size(x3));
y3 = -0.25 + zeros(size(z3));
xz_my3 = [x3' z3' y3'];
for idx = 1:length(xz_my3)
   car.translation = vrcoordm2vr(xz_my3(idx,:));
   vrdrawnow;
   pause(0.1);
end

Входные параметры

свернуть все

Координаты точки в обозначении MATLAB в виде вектора-строки с 3 элементами.

Типы данных: single | double

Выходные аргументы

свернуть все

Координаты точки в обозначении VRML, возвращенном как вектор-строка с 3 элементами.

Типы данных: single | double

Введенный в R2019a