vrcoordm2vr

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

Синтаксис

Описание

пример

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

Примеры

свернуть все

Этот пример является изменением примера Car in the Mountains с координатами для перемещения, заданными в системе координат 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