如何使用Matlab让一特定线段绕它的一端点旋转,使另一端点从一特定位置至另一特定位置?
来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/27 21:31:02
如何使用Matlab让一特定线段绕它的一端点旋转,使另一端点从一特定位置至另一特定位置?
x=[-7.806 -22.813]
y=[23.75 23.75]
z=[0 -50]
plot3(x,y,z,'k','LineWidth',2)
hold on
以[-7.806,23.75,0]为圆心旋转,使另一端点从,[-22.813,23.75,-50]移动到[-60,23.75,0],再移动回去?
要看的时候是一个动态过程!
x=[-7.806 -22.813]
y=[23.75 23.75]
z=[0 -50]
plot3(x,y,z,'k','LineWidth',2)
hold on
以[-7.806,23.75,0]为圆心旋转,使另一端点从,[-22.813,23.75,-50]移动到[-60,23.75,0],再移动回去?
要看的时候是一个动态过程!
p0=[-7.806,23.75,0]; %定点
p1=[-22.813,23.75,-50]; %动点第一位置
p2=[-60,23.75,0]; %动点第二位置
v1=p1-p0;l1=sqrt(sum(v1.^2)); %第一位置线段矢量,及其长度
v2=p2-p0;l2=sqrt(sum(v2.^2)); %第二位置线段矢量,及其长度
n=cross(v1/l1,v2/l2); %从第一位置,到第二位置旋转的单位法向量
a=acos(dot(v1,v2)/l1/l2); %从第一位置,到第二位置旋转的夹角
N=50; %分50个位置,可以自己改次数
aa=linspace(0,a,N); %50个角度
h=plot3([p0(1) p1(1)],[p0(2) p1(2)],[p0(3) p1(3)],'linewidth',2);
view(3);axis equal;axis([-l1 0 0 l1 -l1 0]);grid on;
for ii=[2:N N-1:-1:1]
vii=v1*cos(aa(ii))+cross(n,v1)*sin(aa(ii)); %计算当前矢量
pii=vii+p0; %计算当前坐标
set(h,'XData',[p0(1) pii(1)],'YData',[p0(2) pii(2)],'ZData',[p0(3) pii(3)]);
pause(0.1);
drawnow;
end
p1=[-22.813,23.75,-50]; %动点第一位置
p2=[-60,23.75,0]; %动点第二位置
v1=p1-p0;l1=sqrt(sum(v1.^2)); %第一位置线段矢量,及其长度
v2=p2-p0;l2=sqrt(sum(v2.^2)); %第二位置线段矢量,及其长度
n=cross(v1/l1,v2/l2); %从第一位置,到第二位置旋转的单位法向量
a=acos(dot(v1,v2)/l1/l2); %从第一位置,到第二位置旋转的夹角
N=50; %分50个位置,可以自己改次数
aa=linspace(0,a,N); %50个角度
h=plot3([p0(1) p1(1)],[p0(2) p1(2)],[p0(3) p1(3)],'linewidth',2);
view(3);axis equal;axis([-l1 0 0 l1 -l1 0]);grid on;
for ii=[2:N N-1:-1:1]
vii=v1*cos(aa(ii))+cross(n,v1)*sin(aa(ii)); %计算当前矢量
pii=vii+p0; %计算当前坐标
set(h,'XData',[p0(1) pii(1)],'YData',[p0(2) pii(2)],'ZData',[p0(3) pii(3)]);
pause(0.1);
drawnow;
end
matlab中如何给一个矩阵中的某几个特定位置赋值
proe曲面造型,曲面上的曲线无法同曲面边线相切,如下图,一直无法让曲线端点在特定的位置(PNT2)上相切
3dsmax中如何让物体旋转特定角度
PS中如何把图形画在特定位置
几何画板中怎样控制动点在特定的时间或位置的时候停止?
如何在excel中编出函数的拟合曲线,并求出特定位置的值
ansys——如何在梁单元上的某特定坐标位置施加荷载
在mathematica中如何在特定的位置,对函数进行标注
execl如何生成特定平均值、特定个数的随机数
ansys中如何得到特定点位移
用photoshop如何在地图的特定区域上色,因为我是一只菜菜鸟.
如何让几何画板上的点从一条线段移动到另一条线段