% experimental.mp % L. Nobre G. % 2003 input featpost3Dplus2D; %verbatimtex %\documentclass{article} %\usepackage{beton} %\usepackage{concmath} %\usepackage{ccfonts} %\begin{document} %etex verbatimtex \documentclass{article} \usepackage{palatino} \begin{document} etex f := (4.5,-6,5); beginfig(1); numeric len[], ray[]; color axe[], pos[], fix[], lab[]; color reflabpos, reflabpoi, lincolor; picture txt[], dashpatt; numeric inclang, aberang, sampang, stepang; numeric squside, sqlevel, ul, outermagpos; numeric innerray, polesep, fracone, fracsam; numeric labelscale; path tmpath, aupath, copath; pickup pencircle scaled 1.2pt; dashpatt = evenly scaled 3; inclang = 150; aberang = 17; sampang = 30; stepang = 20; ul = 0.1; labelscale = 5; outermagpos = 30ul; squside = outermagpos; sqlevel = -20ul; polesep = 15ul; fracone = 0.33; fracsam = 0.86; ray1 = 10ul; ray2 = 6ul; ray3 = 8ul; ray4 = 1.5ul; ray5 = 4ul; ray6 = 3ul; ray7 = 3.5ul; ray8 = 2ul; len3 = 7ul; len4 = 20ul; len5 = 3ul; len7 = 3.5ul; len8 = 7ul; lincolor = 0.5background; reflabpos = ( -squside, 0, -sqlevel ); reflabpoi = ( -squside, squside, -sqlevel ); V1 := (squside,squside,sqlevel); V2 := (-squside,squside,sqlevel); V3 := (-squside,-squside,sqlevel); V4 := (squside,-squside,sqlevel); % makeface1(1,2,3,4); len1 = (1-fracone)*(outermagpos-ray5-polesep); pos1 = (-outermagpos,0,0); rigorousdisc( 0, true, pos1, ray1, len1*(1,0,0) ); len2 = fracone*(outermagpos-ray5-polesep); pos2 = (len1-outermagpos,0,0); tmpath := goodcirclepath( pos2, (1,0,0), ray1 ); aupath := goodcirclepath( (-ray5-polesep,0,0), (1,0,0), ray2 ); copath := twocyclestogether( tmpath, aupath ); unfill copath; draw copath; draw aupath; lab2 = reflabpos; txt2 = thelabel.top( btex magneto etex scaled labelscale, rp( lab2 ) ); draw txt2; fix2 = (-outermagpos+0.5len1,0,ray1); draw llcorner txt2--lrcorner txt2--rp(fix2) withcolor lincolor; axe3 = ( 0, cosd( inclang ), sind( inclang ) ); pos3 = -( len3 + len4 + len5 )*axe3; rigorousdisc( 0, true, pos3, ray3, len3*axe3 ); lab3 = (1-fracone)*reflabpoi+fracone*V1; txt3 = thelabel.rt( btex rotor etex scaled labelscale, rp( lab3 ) ); draw txt3; axe4 = axe3; pos4 = -( len4 + len5 )*axe4; rigorousdisc( 0, true, pos4, ray4, len4*axe4 ); fix3 = pos4+fracsam*ray3*(0,cosd( inclang -90 ),sind( inclang -90 )); draw lrcorner txt3--llcorner txt3--rp(fix3) withcolor lincolor; axe5 = axe3; pos5 = -( len5 )*axe5; rigorousdisc( 0, true, pos5, ray5, len5*axe5 ); lab5 = (1-fracone)*reflabpoi+fracone*V2; txt5 = thelabel.rt( btex porta-amostras etex scaled labelscale, rp( lab5 ) ); draw txt5; fix5 = fracsam*ray5*(0,cosd( inclang -90 ),sind( inclang -90 )); draw lrcorner txt5--llcorner txt5--rp(fix5) withcolor lincolor; V5 := fracsam*ray5*( sind( sampang ), cosd( sampang )*cosd( inclang -90 ), cosd( sampang )*sind( inclang -90 ) ); V6 := fracsam*ray5*( -sind( sampang ), cosd( sampang )*cosd( inclang -90 ), cosd( sampang )*sind( inclang -90 ) ); V8 := fracsam*ray5*( sind( sampang ), -cosd( sampang )*cosd( inclang -90 ), -cosd( sampang )*sind( inclang -90 ) ); V7 := fracsam*ray5*( -sind( sampang ), -cosd( sampang )*cosd( inclang -90 ), -cosd( sampang )*sind( inclang -90 ) ); draw rp(V5)--rp(V6)--rp(V7)--rp(V8)--cycle; axe6 = ( 0, cosd( inclang+aberang ), sind( inclang+aberang ) ); pos6 = ray1*axe6; len6 = len4; axe7 = ( 0, cosd( inclang-aberang ), sind( inclang-aberang ) ); pos7 = ( ray1 + 0.5len6 )*axe7; draw rp(pos6)--rp((0,0,0))--rp(pos7) dashed dashpatt; rigorousdisc( 0, true, pos6, ray6, len6*axe6 ); lab6 = fracone*reflabpos+(1-fracone)*V3; txt6 = thelabel.lft( btex telemicrosc\'{o}pio etex scaled labelscale, rp( lab6 ) ); draw txt6; fix6 = pos6+len6*axe6; draw llcorner txt6--lrcorner txt6--rp(fix6) withcolor lincolor; pos8 = pos7+len7*axe7; tmpath := goodcirclepath( pos7, axe7, ray7 ); aupath := goodcirclepath( pos8, axe7, ray8 ); copath := twocyclestogether( tmpath, aupath ); unfill copath; draw copath; draw aupath; axe8 = axe7; rigorousdisc( 0, true, pos8, ray8, len8*axe8 ); lab8 = (1-fracone)*reflabpos+fracone*V3; txt8 = thelabel.lft( btex l\^{a}mpada etex scaled labelscale, rp( lab8 ) ); draw txt8; fix8 = pos8+len8*axe8; draw llcorner txt8--lrcorner txt8--rp(fix8) withcolor lincolor; len9 = len2; pos9 = (ray5+polesep,0,0); ray9 = ray2; ray10 = ray1; tmpath := goodcirclepath( pos9, (1,0,0), ray9 ); pos10 = pos9+len9*(1,0,0); aupath := goodcirclepath( pos10, (1,0,0), ray10 ); copath := twocyclestogether( tmpath, aupath ); unfill copath; draw copath; draw aupath; len10 = len1; rigorousdisc( 0, true, pos10, ray10, len10*(1,0,0) ); produce_auto_scale; endfig; verbatimtex \end{document} etex end.