This function will calculate and return the view factors (also called configuration factors) and the areas of the given planar polygons in 3D as needed for radiation heat transfer problems. As it uses Gauss-Legendre quadrature for the contour integrals, it is fast. The function also implements a fast polygon area calculation.
Also included is a test file which runs three different examples to compare the output of this file with known analytic results. This is included as a convenience to illustrate correct usage.
Example: Use ViewFactor to estimate the view factor between two parallel and coaxial circular disks of radius 1, separated by a distance of 3.
M = 120; % Number of vertices of approximating polygons.
[x,y,z] = cylinder(1,M); % Use CYLINDER to create M points on circle.
z(2,:) = z(2,:)*3; % Move 2nd disk from z=1 to z=3
C1 = [x(1,1:M-1)',y(1,1:M-1)',z(1,1:M-1)']; % Coords of the vertices of the polygons
C2 = [x(2,1:M-1)',y(2,1:M-1)',z(2 ,1:M-1)'];
VFe = .5*(11-sqrt(117)); % Exact solution, for comparison.
VF = ViewFactor(C1,C2,2); % Use 2 Gauss points per segment pair.
The value returned show a relative error of .04%
Inspired by file 5664.
Added an image.