Two 3D objects colliding on a graph and displaying a conditional

조회 수: 3 (최근 30일)
Kevin
Kevin 2014년 3월 7일
I have two objects displayed on a 3D graph that are moving independent of each other and I am attempting to display a congratulations statement when the two objects collide or are equal to each other. However When I write my code it either always displays the congratulations statement or the statement isnt displayed at all. This is the code I have with the if statement for the congratulations message.
%%Final Project %%
% Kevin McLaughlin %
% Karen Wells %
clc
clear all
close all
%User Input
V = 15 + 5*randn(1,1)
scale = 2+1.3*randn(1,1)
VI = input('Input the initial velocity of the launched object:');
Angle = input('Input and angle between 0 and 90 degrees:');
%Sets up axes
figure
DonewithMatlab = axes('xlim',[0,40],'ylim',[0,40],'zlim',[0,50]);
view(3)
grid on
axis equal
hold on
xlabel('x')
ylabel('y')
zlabel('z')
title('PHYSICS YO')
%Creating base shapes
[xCylinder, yCylinder, zCylinder] = cylinder([scale,.01]);
[xSphere,ySphere,zSphere] = sphere(100);
%Graphed shapes (cylinder)
shape(1) = surface(2*zCylinder+40,2*xCylinder+00,2*yCylinder+50);
shape(2) = surface(2*zCylinder+40,2*xCylinder+00,2*yCylinder+50);
combinedObject = hgtransform('parent',DonewithMatlab);
set(shape,'parent',combinedObject);
drawnow
%Graphed shape (sphere)
sphere(1) = surface(2*xSphere,2*ySphere,2*zSphere);
sphere(2) = surface(2*xSphere,2*ySphere,2*zSphere);
Bollocks=hgtransform ('parent',DonewithMatlab);
set(sphere,'parent',Bollocks);
drawnow
%Freefall physics yo
for t = [0:0.01:2];
FreeBawlin = makehgtform('translate',[0,0,((-V*(t))+(1/2)*(-9.81)*((t)^2))]);
RotZ = makehgtform('zrotate',(pi/180)*45);
set(combinedObject,'matrix',FreeBawlin*RotZ);
vx = (VI)*t*cosd(Angle);
yt=(VI)*t*sind(Angle)-((9.81)*(t^2))/2;
Merh=makehgtform('translate',[vx,vx,yt]);
set(Bollocks,'matrix',Merh);
Winning = (-V*(t))+(1/2)*(-9.81)*((t)^2);
OhYeah = [vx,vx,yt];
pause(0.1)
end

답변 (0개)

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by