我正在尝试获取等腰三角形面对特定角度的3个顶点的2D坐标。
我知道三角形中心的坐标,并在此点周围绘制了一个半径为r
的圆,我认为应该使用该圆确定三角形的顶点。
(我正在尝试用c#来实现,但是语言并不重要)
答案 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