intriang.m

来自「细胞生长结构可视化工具箱-MATLAB Toolbox1999.zip」· M 代码 · 共 24 行

M
24
字号
function x = intriang(pt,n1,n2,n3)


% Check for points outside box enclosing triangle
if( (pt(1)<max([n1(1),n2(1),n3(1)]))&(pt(1)>min([n1(1),n2(1),n3(1)]))&(pt(2)<max([n1(2),n2(2),n3(2)]))&(pt(2)>min([n1(2),n2(2),n3(2)])) )
	s1 = sign(cross([n3-n1,0],[pt-n1,0]));
	s2 = sign(cross([n2-n1,0],[pt-n1,0]));
	r1=s1(3)*s2(3);

	s3 = sign(cross([n3-n2,0],[pt-n2,0]));
	s4 = sign(cross([n1-n2,0],[pt-n2,0]));
	r2 = s3(3)*s4(3);	% Only 3rd component is non zero


	if (r1<=0 & r2<=0)
		x = 1;	%True
	else
		x=0;
	end		
else
	x = 0;	%Lies on line outside triangle
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?