You can use `THREE.LineBasicMaterial()`

and `THREE.LineDashedMaterial()`

for most of them, except 4 and 6.

But nobody keeps you out of creativity

https://jsfiddle.net/prisoner849/gfjnLakc/

Here is just a concept, made with `THREE.ShaderMaterial()`

and based on the shaders for a dashed line.

```
var lineVertShader = `
attribute float lineDistance;
varying float vLineDistance;
void main() {
vLineDistance = lineDistance;
vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
gl_Position = projectionMatrix * mvPosition;
}
`;
var lineFragShader = `
uniform vec3 diffuse;
uniform float opacity;
uniform float dashSize;
uniform float gapSize;
uniform float dotSize;
varying float vLineDistance;
void main() {
float totalSize = dashSize + gapSize;
float modulo = mod( vLineDistance, totalSize );
float dotDistance = dashSize + (gapSize * .5) - (dotSize * .5);
if ( modulo > dashSize && mod(modulo, dotDistance) > dotSize ) {
discard;
}
gl_FragColor = vec4( diffuse, opacity );
}
`;
```