EDGELENGTH3D Return the length of a 3D edge. L = edgeLength3D(EDGE); Returns the length of a 3D edge, with following representation: [x1 y1 z1 x2 y2 z2]. Example p1 = [1 1 1]; p2 = [3 4 5]; edge = createEdge3d(p1, p2); edgeLength3d(edge) ans = 5.3852 See also edges3d, createEdge3d, drawEdge3d
0001 function len = edgeLength3d(edge, varargin) 0002 %EDGELENGTH3D Return the length of a 3D edge. 0003 % 0004 % L = edgeLength3D(EDGE); 0005 % Returns the length of a 3D edge, with following representation: 0006 % [x1 y1 z1 x2 y2 z2]. 0007 % 0008 % Example 0009 % p1 = [1 1 1]; 0010 % p2 = [3 4 5]; 0011 % edge = createEdge3d(p1, p2); 0012 % edgeLength3d(edge) 0013 % ans = 0014 % 5.3852 0015 % 0016 % See also 0017 % edges3d, createEdge3d, drawEdge3d 0018 0019 % ------ 0020 % Author: David Legland 0021 % e-mail: david.legland@inra.fr 0022 % Created: 2018-08-29, using Matlab 9.4.0.813654 (R2018a) 0023 % Copyright 2018 INRA - Cepia Software Platform. 0024 0025 if nargin == 1 0026 dp = edge(:, 4:6) - edge(:, 1:3); 0027 else 0028 dp = varargin{1} - edge; 0029 end 0030 0031 len = hypot(hypot(dp(:,1), dp(:,2)), dp(:,3));