用matlab写的空间圆参数方程,工坊适用

默认按F生成单悬臂和点轨迹(时针效果)

通过更改相应参数可画任意空间圆

matlab源程序:

clc;

n=1 9 1; %法向量 n==面朝方向

r=1; %圆的半径 1==r

c=1 2 1; %圆心的坐标 c==眼睛位置——眼睛位置+面朝方向*2

angle=(0:2pi/100:2pi)'; %角度 angle==for(0-360)

a=cross(n,1 0 0); %n与i的矢量积,求a向量

if ~any(a) %如果a为零向量,将n与j叉乘

a=cross(n,[0 1 0]);

end

b=cross(n,a); %n与a的矢量积,求b向量

a=a/norm(a); %归一化a向量

b=b/norm(b); %归一化b向量

c1=c(1)*ones(size(angle,1),1);% n的x方向分量

c2=c(2)*ones(size(angle,1),1);

c3=c(3)*ones(size(angle,1),1);

x=c1+ra(1)cos(angle)+rb(1)sin(angle);%圆上各点的x坐标 x==c的x方向分量+ra的x方向分量cos(角度)+rb的x方向分量sin(角度)

y=c2+ra(2)cos(angle)+rb(2)sin(angle);%圆上各点的y坐标

z=c3+ra(3)cos(angle)+rb(3)sin(angle);%圆上各点的z坐标

plot3(x,y,z)

xlabel('x轴')

ylabel('y轴')

zlabel('z轴')

markdown程序代码自己看

评论
这里空空如也~
这里空空如也~