本文主要是介绍空间三维三角形的内切圆和外接圆绘制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对于空间内一个三角形,绘制该三角形的外接圆和内切圆,如图所示。
三维空间的圆
函数plotCircle(c,r,n )
function [] = plotCircle(c,r,n )
% 画三维空间中圆
%n 法向量n
%r 圆的半径为1
%c 圆心的坐标
theta=(0:2*pi/100:2*pi)'; %theta角从0到2*pi
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); %求取b向量
a=a/norm(a); %单位化a向量
b=b/norm(b); %单位化b向量c1=c(1)*ones(size(theta,1),1);
c2=c(2)*ones(size(theta,1),1);
c3=c(3)*ones(size(theta,1),1);x=c1+r*a(1)*cos(theta)+r*b(1)*sin(theta);%圆上各点的x坐标
y=c2+r*a(2)*cos(theta)+r*b(2)*sin(theta);%圆上各点的y坐标
z=c3+r*a(3)*cos(theta)+r*b(3)*sin(theta);%圆上各点的z坐标plot3(x,y,z)end
这篇关于空间三维三角形的内切圆和外接圆绘制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!