用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程序代码自己看
评论
这里空空如也~