% From https://de.mathworks.com/matlabcentral/fileexchange/7844-geom2d?focused=8114378&tab=example 

%Draw Poisson lines, that is lines uniformly and isotropically
% distributed in the plane.
% ---------
% author : David Legland
% INRA - TPV URPOI - BIA IMASTE
% created the 24/06/2005
%Contents


% clean up
clear all;
close all;

% line density
lambdaRho = .5;

% maximal distance of lines from origin
rhoMax = 150;

% number of lines
Nl = rhoMax*lambdaRho;
create lines

% use uniform distribution for \theta, and linear for \rho
theta = 2*pi*rand(Nl, 1);
rho   = rhoMax*rand(Nl, 1);

% convert to parametric representation
lines = createLine(rho, theta);
draw lines

% format output window
clf;
axis([-100 100 -100 100]);
hold on;

% draw Lines, automatically clipped
drawLine(lines);

% title
title(sprintf('poisson lines, with density %f', lambdaRho));

Also draw intersection points

% detect intersections
pts = zeros(0, 2);
for i=1:size(lines, 1)-1
    pts = [pts ; intersectLines(lines(i,:), lines(i+1:end, :))];
end

% remove cases with parallel cases (should not appear, but ...)
pts = pts(isfinite(pts(:,1)), :);

% draw points on image
hold on;
drawPoint(pts, 'ro');
