# i have to draw an incircle in a triangle.

10 views (last 30 days)
Saurabh Agarwal on 17 Nov 2020
Answered: Swatantra Mahato on 20 Nov 2020
i have to draw an incircle of a triangle, for that i have made an traingle... but now, how to plot an incicle in it.
clc
clear
p1=[2 0 0];
p2=[0 2 0];
p3=[0 0 2];
% Plot triangle using 'patch'
figure('color','w')
h=patch('Faces',1:3,'Vertices',[p1;p2;p3]);
set(h,'FaceColor','r','EdgeColor','k','LineWidth',2,'FaceAlpha',0.5)
axis equal vis3d
view([100 100])
xlabel('x','FontSize',20)
ylabel('y','FontSize',20)
zlabel('z','FontSize',20)

Swatantra Mahato on 20 Nov 2020
Hi Saurabh,
Assuming you have calculated the incentre and inradius for the incircle, you can plot the incircle by using the parametric equations for a circle in 3D space and using the "plot3" function.
An example workflow is shown below (here "r" is the inradius and "in" is the vector representing the incentre)
V=[2,2,2]; %the normal to the plane of the triangle
V=V/norm(V); % unit vector for the normal
A=(p1-in)/norm(p1-in); % a unit vector on the plane passing through center of the circle
B=cross(A,V); % a vector perpendicular to A and in the plane of the triangle. A and B act as the axes
th=0:0.01:2*pi;
x=in(1)+r*cos(th)*A(1)+r*sin(th)*B(1);
y=in(2)+r*cos(th)*A(2)+r*sin(th)*B(2);
z=in(3)+r*cos(th)*A(3)+r*sin(th)*B(3);
hold on
l=plot3(x,y,z)
Hope this helps