Cross in 3D
For reference see incontrastsRef.html.
function q = cross3D(X1,X2,X3, varargin) % 3D cross-shaped object seti = varargin{end}; R = seti.rCD/2; p0 = -3/8; p1 = -1/8; l = 7/8; % length of bars w = 1/8; % width of bars % first horizontal bar of cross q1 = (p0*R <= X1) & (X1 < (p0+l)*R) & (p1*R <= X2) & (X2 < (p1+w)*R) & (p1*R <= X3) & (X3 < (p1+w)*R); % second horizontal bar of cross q2 = (p1*R <= X1) & (X1 < (p1+w)*R) & (p0*R <= X2) & (X2 < (p0+l)*R) & (p1*R <= X3) & (X3 < (p1+w)*R); % vertical bar of cross q3 = (p1*R <= X1) & (X1 < (p1+w)*R) & (p1*R <= X2) & (X2 < (p1+w)*R) & (p0*R <= X3) & (X3 < (p0+l)*R); % center block q4 = (p1*R <= X1) & (X1 < (p1+w)*R) & (p1*R <= X2) & (X2 < (p1+w)*R) & (p1*R <= X3) & (X3 < (p1+w)*R); q = 0.8*q1 + 0.6*q2 + 1.0*q3 - (0.8+0.6)*q4; % without center block... q = double(q); end