以中心为中心以一定角度绘制等腰三角形

时间:2019-01-06 07:23:25

标签: c# matlab geometry

我正在尝试获取等腰三角形面对特定角度的3个顶点的2D坐标。

我知道三角形中心的坐标,并在此点周围绘制了一个半径为r的圆,我认为应该使用该圆确定三角形的顶点。

(我正在尝试用c#来实现,但是语言并不重要)

1 个答案:

答案 0 :(得分:0)

我们需要在此处添加一些几何形状的味道!我认为,三角形的中心是指该三角形内部的内切圆的中心。同样,给定的角度是顶点角度,该角度在0到180度之间。给定圆心的半径和坐标以及顶角,以下功能将在 MATLAB 中完成该工作:

function output=circle2tri(radius,coordinates,apex_theta)
%% 
% radius = radius of the inscribed circle. 1*1 scalar
% coordinates = coordinates of the center of the inscribed circle. 1*n vec
% apex_theta = (self-explaining!) the theta of the apex. 1*1 scalar

%% checking for valid values of apex_theta
if apex_theta>180 || apex_theta<=0
   error('Invalid apex_theta in circle2tri')
end

%% calculating the coordinates of the isosceles triangle
y=radius/tan(apex_theta);
x=radius+radius^2/y;
output=[x -x 0;-radius -radius y];
output=output+coordinates';
end