summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/examples/exp.m4
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/circuit_macros/examples/exp.m4')
-rw-r--r--graphics/circuit_macros/examples/exp.m494
1 files changed, 47 insertions, 47 deletions
diff --git a/graphics/circuit_macros/examples/exp.m4 b/graphics/circuit_macros/examples/exp.m4
index c518eb9bcf..abcde1c751 100644
--- a/graphics/circuit_macros/examples/exp.m4
+++ b/graphics/circuit_macros/examples/exp.m4
@@ -32,37 +32,37 @@ arad = 0.6*g
define(`D3',`0.3*g,0.6*g,0.9*g')
# fixed coordinate frame
-O: project(O3)
-X: project(X0)
-Y: project(Y0)
+O: Project(O3)
+X: Project(X0)
+Y: Project(Y0)
Fector(X0,Z0) with .Origin at O ; "$x_0$" at X rjust
Fector(Y0,Z0) with .Origin at O ; "$y_0$" at Y ljust below
- Fector(Z0,Y0) with .Origin at O ; "`$z_0$'" at project(Z0) above
+ Fector(Z0,Y0) with .Origin at O ; "`$z_0$'" at Project(Z0) above
define(`R01',`rot3Dz(pazim,rot3Dy(-pelev,$1,$2,$3))')
define(`R10',`rot3Dy(pelev,rot3Dz(-pazim,$1,$2,$3))')
thinlines_ ; psset_(linecolor=gray)
- line from O to project(rot3Dz(pazim,axlen,0,0))
+ line from O to Project(rot3Dz(pazim,axlen,0,0))
psset_(linecolor=black)
- arc -> ccw from project(arad,0,0) to project(rot3Dz(pazim,arad,0,0)) rad arad
+ arc -> ccw from Project(arad,0,0) to Project(rot3Dz(pazim,arad,0,0)) rad arad
"$\theta$" below
up_
- arc -> cw from project(rot3Dz(pazim,arad,0,0)) \
- to project(R01(arad,0,0)) rad arad
- "$\phi$" rjust at project(rot3Dz(pazim,rot3Dy(-pelev/2,arad,0,0)))
- arc -> from project(0,arad,0) to project(R01(0,arad,0)) rad arad
+ arc -> cw from Project(rot3Dz(pazim,arad,0,0)) \
+ to Project(R01(arad,0,0)) rad arad
+ "$\phi$" rjust at Project(rot3Dz(pazim,rot3Dy(-pelev/2,arad,0,0)))
+ arc -> from Project(0,arad,0) to Project(R01(0,arad,0)) rad arad
"$\theta$" above
right_
- arc -> cw from project(0,0,arad/2) to project(R01(0,0,arad/2)) rad arad/2
+ arc -> cw from Project(0,0,arad/2) to Project(R01(0,0,arad/2)) rad arad/2
"$\phi$" ljust at Here+(-1pt__,-3pt__)
Fector(R01(X0),R01(Z0)) with .Origin at O ;
- "$x_1$" above rjust at project(R01(X0))
+ "$x_1$" above rjust at Project(R01(X0))
Fector(R01(Y0),R01(Z0)) with .Origin at O ;
- "$y_1$" ljust at project(R01(Y0))
+ "$y_1$" ljust at Project(R01(Y0))
Fector(R01(Z0),R01(Y0)) with .Origin at O ;
- "$z_1$" above at project(R01(Z0))
+ "$z_1$" above at Project(R01(Z0))
thicklines_
# box object dimension
@@ -72,23 +72,23 @@ h = 0.20*g
# box object corners
define(`B0',`D3')
-define(`B1',`sum3D(D3,d,0,0)') PB1: project(B1)
-define(`B2',`sum3D(D3,d,b,0)') PB2: project(B2)
-define(`B3',`sum3D(D3,0,b,0)') PB3: project(B3)
-define(`B4',`sum3D(D3,0,0,h)') PB4: project(B4)
-define(`B5',`sum3D(D3,d,0,h)') PB5: project(B5)
-define(`B6',`sum3D(D3,d,b,h)') PB6: project(B6)
-define(`B7',`sum3D(D3,0,b,h)') PB7: project(B7)
+define(`B1',`sum3D(D3,d,0,0)') PB1: Project(B1)
+define(`B2',`sum3D(D3,d,b,0)') PB2: Project(B2)
+define(`B3',`sum3D(D3,0,b,0)') PB3: Project(B3)
+define(`B4',`sum3D(D3,0,0,h)') PB4: Project(B4)
+define(`B5',`sum3D(D3,d,0,h)') PB5: Project(B5)
+define(`B6',`sum3D(D3,d,b,h)') PB6: Project(B6)
+define(`B7',`sum3D(D3,0,b,h)') PB7: Project(B7)
# projected corners
-P0:project(R01(0,dcosine3D(2,R10(B0)),dcosine3D(3,R10(B0))))
-P1:project(R01(0,dcosine3D(2,R10(B1)),dcosine3D(3,R10(B1))))
-P2:project(R01(0,dcosine3D(2,R10(B2)),dcosine3D(3,R10(B2))))
-P3:project(R01(0,dcosine3D(2,R10(B3)),dcosine3D(3,R10(B3))))
-P4:project(R01(0,dcosine3D(2,R10(B4)),dcosine3D(3,R10(B4))))
-P5:project(R01(0,dcosine3D(2,R10(B5)),dcosine3D(3,R10(B5))))
-P6:project(R01(0,dcosine3D(2,R10(B6)),dcosine3D(3,R10(B6))))
-P7:project(R01(0,dcosine3D(2,R10(B7)),dcosine3D(3,R10(B7))))
+P0:Project(R01(0,dcosine3D(2,R10(B0)),dcosine3D(3,R10(B0))))
+P1:Project(R01(0,dcosine3D(2,R10(B1)),dcosine3D(3,R10(B1))))
+P2:Project(R01(0,dcosine3D(2,R10(B2)),dcosine3D(3,R10(B2))))
+P3:Project(R01(0,dcosine3D(2,R10(B3)),dcosine3D(3,R10(B3))))
+P4:Project(R01(0,dcosine3D(2,R10(B4)),dcosine3D(3,R10(B4))))
+P5:Project(R01(0,dcosine3D(2,R10(B5)),dcosine3D(3,R10(B5))))
+P6:Project(R01(0,dcosine3D(2,R10(B6)),dcosine3D(3,R10(B6))))
+P7:Project(R01(0,dcosine3D(2,R10(B7)),dcosine3D(3,R10(B7))))
thinlines_
line from PB1 to P1
line from PB2 to P2
@@ -134,24 +134,24 @@ thicklines_
alpha = rectht/3
# # Rectangle
- NW: project(-rectht/2,-rectwid*0.25,0)
- SW: project( rectht/2,-rectwid*0.25,0)
- SE: project( rectht/2, rectwid*0.75,0)
- NE: project(-rectht/2, rectwid*0.75,0)
+ NW: Project(-rectht/2,-rectwid*0.25,0)
+ SW: Project( rectht/2,-rectwid*0.25,0)
+ SE: Project( rectht/2, rectwid*0.75,0)
+ NE: Project(-rectht/2, rectwid*0.75,0)
ShadedPolygon(NW:NE:SE:SW,,-90,
0,0.25,0.25,0.25,
1,1,1,1) with .Start at NW
define(`C3D',`0,0,alpha') # Centre of the sphere
- C: project(C3D)
+ C: Project(C3D)
# # Shaded sphere using PSTricks or tikz:
# # this is black magic but PSTricks
# # seems to give more control
# ifpstricks(
# `Highlight: \
-# project(sum3D(C3D,rot3Dz(-15*dtor_,rot3Dy(-60*dtor_,alpha,0,0))))
+# Project(sum3D(C3D,rot3Dz(-15*dtor_,rot3Dy(-60*dtor_,alpha,0,0))))
# command "\pscustom[fillstyle=gradient,gradmidpoint=0.0,%"
# command sprintf("gradbegin=gray,gradend=white,gradlines=%g,%%",alpha*200)
# command "GradientCircle=true,GradientScale=1.5,%"
@@ -174,15 +174,15 @@ thicklines_
"$\alpha$" at 0.5<S,C> ljust
define(`N3D',`0,0,2*alpha') # North pole
- N: project(N3D)
+ N: Project(N3D)
"$N$" at N+(0,3pt__) ljust
phi = 65*dtor_
define(`Phat3D',`rot3Dz(phi,alpha*3,0,0)')
- Phat: "$\hat{P}$" at project(Phat3D) ljust
+ Phat: "$\hat{P}$" at Project(Phat3D) ljust
- X: project(rectht/2*0.8,0,0)
- Y: project(0,rectwid/2*0.8,0)
+ X: Project(rectht/2*0.8,0,0)
+ Y: Project(0,rectwid/2*0.8,0)
`define' linevis { # ratio # Visibility function for lines fom S to Tmp
Tlv: $1 between S and Tmp
@@ -202,8 +202,8 @@ thinlines_ # axes
arrow up alpha*0.5 chop 0.05 chop 0 ; "$z$" above
invisline(Phat)
line to Phat chop 0.05 chop 0
- arc ccw -> rad alpha from project(alpha/2,0,0) to \
- project(rot3Dz(phi,alpha/2,0,0))
+ arc ccw -> rad alpha from Project(alpha/2,0,0) to \
+ Project(rot3Dz(phi,alpha/2,0,0))
"$\phi$" below at 0.5 between last arc.start and last arc.end
# vector (ratio along (N to Phat))
@@ -212,7 +212,7 @@ define(`ray',`sum3D(N3D,sprod3D($1,diff3D(Phat3D,N3D)))')
$2 = length3D(diff3D(ray($1),C3D))-alpha }
findroot(rayvis, 1e-3, 1, 1e-8, p) # Find P
- P: "$P$" at project(ray(p)) ljust above
+ P: "$P$" at Project(ray(p)) ljust above
thicklines_
line dashed from N to P chop 0 chop 0.05
@@ -226,11 +226,11 @@ thinlines_ # Draw the meridian
findroot(meridianvis, 0, pi_, 1e-8, y)
n = 0
for ang = y-pi_ to y by pi_/20 do {
- Q[n]: project(sum3D(C3D,meridian(ang))); n+=1 }
+ Q[n]: Project(sum3D(C3D,meridian(ang))); n+=1 }
fitcurve(Q,n-1)
n = 0
for ang = y to y+pi_ by pi_/20 do {
- Q[n]: project(sum3D(C3D,meridian(ang))); n+=1 }
+ Q[n]: Project(sum3D(C3D,meridian(ang))); n+=1 }
fitcurve(Q,n-1,dashed)
define(`equator',`rot3Dz($1,alpha,0,0)')
@@ -240,15 +240,15 @@ define(`equator',`rot3Dz($1,alpha,0,0)')
findroot(equatorvis, 0, pi_, 1e-8, y)
n = 0
for ang = y-pi_ to y by pi_/20 do {
- Q[n]: project(sum3D(C3D,equator(ang))); n+=1 }
+ Q[n]: Project(sum3D(C3D,equator(ang))); n+=1 }
fitcurve(Q,n-1)
n = 0
for ang = y to y+pi_ by pi_/20 do {
- Q[n]: project(sum3D(C3D,equator(ang))); n+=1 }
+ Q[n]: Project(sum3D(C3D,equator(ang))); n+=1 }
fitcurve(Q,n-1,dashed)
line dashed from C to P # beta
- line dashed from C to project(sum3D(C3D,equator(phi)))
+ line dashed from C to Project(sum3D(C3D,equator(phi)))
arc ccw -> from 0.6 along_(last line) to 0.6 between C and P
"$\beta$" ljust at last arc.e+(0,2pt__)