summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4')
-rw-r--r--Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m495
1 files changed, 0 insertions, 95 deletions
diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4
deleted file mode 100644
index b9d0579c691..00000000000
--- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4
+++ /dev/null
@@ -1,95 +0,0 @@
-.PS
-# Planes.m4
-threeD_init
-NeedDpicTools
-
-# This 3D diagram is like many others: define the facets, use the normal vectors
-# to determine visibility, sort and plot the facets from back to front.
-
-define(`mark',`"`$1'" at `$1'')
-
-# size parameters
- a = 3/2
- b = 0.4
- d = 1
-# Define intersecting lines in the plane
- A0: -a,-b
- A1: a,-b
- B0: Rot_(A0,120)
- B1: Rot_(A1,120)
- C0: Rot_(A0,240)
- C1: Rot_(A1,240)
-
-# intersections
-define(`lintersect',`intersect_(`$1'0,`$1'1,`$2'0,`$2'1)')
- AB: lintersect(A,B)
- BC: lintersect(B,C)
- CA: lintersect(C,A)
-
-# Store a point as x[i], y[i], z[i]
-define(`mkxyz',`
- x[$1] = $2
- y[$1] = $3
- z[$1] = $4')
-# Recover point coordinates
-define(`xyz',`x[$1], y[$1], z[$1]')
-
-# Facets are rectangles here; store 3 corners
-define(`mkfacet',`
- mkxyz((`$1')*3, 0,`$2'.x,`$2'.y)
- mkxyz((`$1')*3+1, 0,`$3'.x,`$3'.y)
- mkxyz((`$1')*3+2,-d,`$3'.x,`$3'.y)
-')
-# Define the facets
- mkfacet(1,A0,CA) mkfacet(2,CA,A0)
- mkfacet(3,CA,AB) mkfacet(4,AB,CA)
- mkfacet(5,AB,A1) mkfacet(6,A1,AB)
-
- mkfacet(7,B0,AB) mkfacet(8,AB,B0)
- mkfacet(9,AB,BC) mkfacet(10,BC,AB)
- mkfacet(11,BC,B1) mkfacet(12,B1,BC)
-
- mkfacet(13,C0,BC) mkfacet(14,BC,C0)
- mkfacet(15,BC,CA) mkfacet(16,CA,BC)
- mkfacet(17,CA,C1) mkfacet(18,C1,CA)
- nfacets = 18
-
-# View angles azimuth, elevation, rotation (degrees)
- setview( 10, 30, 5)
-
-ifelse(1,1,`
-# # create array of visible facets and sort
- n = 0
- for i=1 to nfacets do {
- mkxyz(-1,
- cross3D(diff3D(xyz(i*3+1),xyz(i*3)),diff3D(xyz(i*3+2),xyz(i*3+1))))
- dx = dot3D(xyz(-1),View3D)
- if dx > 0 then {
- dy[i] = dx/length3D(xyz(-1))
- n +=1
- d[n] = dot3D(sum3D(xyz(i*3),xyz(i*3+2)),View3D)/2
- ix[n] = i
- }
- }
- dpquicksort(d,1,n,ix)
-
-#print sprintf("n=%g",n); for i=1 to n do { print i,ix[i] }
-
-# Recover the 4th corner and draw
-define(`drawfacet',`
- NW_facet: Project(xyz(($1)*3))
- NE_facet: Project(xyz(($1)*3+1))
- SE_facet: Project(xyz(($1)*3+2))
- SW_facet: Project(x[($1)*3+2],y[($1)*3],z[($1)*3])
- shd = 1-($2)^4
- line from SW_facet to SE_facet then to NE_facet \
- then to NW_facet then to SW_facet shaded rgbstring(shd,shd,shd)
-# sprintf("%g",$1) at 0.5 between SW_facet and NE_facet
-# Loopover_(`x',`mark(x);',SW_facet,SE_facet,NE_facet,NW_facet)
- ')
-
-# # draw facets, shading with view cosines
- for i=1 to n do { drawfacet(ix[i],dy[ix[i]]) }
-')
-
-.PE