verbatimtex \magnification=\magstep1 etex u=1cm; beginfig(1); z0 = (0,0); % z0 is origin x100 = x0 + 2u; y100 = y0 + 3u; % z100 is point O x101 = x100; y101 = y100 - 0.75u; % z101 is point P z102 = 2 [z100, z101]; % z102 is point Q z103 = 3 [z100, z101]; % z103 is point Z z104 = 3.2 [z100, z101]; % z104 is bottom z105 = 2 [z101, z100]; % z105 is point B z106 = 6 [z101, z100]; % z106 is point A z107 = 2.2 [z101, z100]; % z107 is bottom of lens z108 = 3.0 [z101, z100]; % z108 is top of lens y109 = y119 = 0.5 [y107, y108]; % z109 and z119 ends of lens x100 = 0.5 [x109, x119]; x119 - x109 = 2u; x110 = x100 + 0.2u; y110 = y100; z111 - z101 = z110 - z100; z112 - z102 = z110 - z100; z113 - z103 = z110 - z100; z115 - z105 = z110 - z100; z116 - z106 = z110 - z100; x200 = x100 + 4u; y200 = y100 + 3u; % z200 is point O x201 = x200; y201 = y200 - 0.75u; % z201 is point P z202 = 2 [z200, z201]; % z202 is point Q z203 = 3 [z200, z201]; % z203 is point Z z205 = 2 [z201, z200]; % z205 is point B z206 = 6 [z200, z201]; % z206 is point A y209 = y219 = 1.7 [y201, y200]; % z209 and z219 ends of lens x200 = 0.5 [x209, x219]; x219 - x209 = 2u; x210 = x200 + 0.2u; y210 = y200; z211 - z201 = z210 - z200; z212 - z202 = z210 - z200; z213 - z203 = z210 - z200; z216 - z206 = z210 - z200; draw z104 -- z106; draw z110 -- z100; draw z111 -- z101; draw z112 -- z102; draw z113 -- z103; draw z115 -- z105; draw z109 .. z107 .. z119; draw z109 .. z108 .. z119; draw z206 -- z205; draw z210 -- z200; draw z211 -- z201; draw z212 -- z202; draw z213 -- z203; draw z209 .. z205 .. z219; label.rt(btex ${\rm O}$ etex, z110); label.rt(btex ${\rm P}$ etex, z111); label.rt(btex ${\rm Q}$ etex, z112); label.rt(btex ${\rm Z}$ etex, z113); label.rt(btex ${\rm B}$ etex, z115); label.rt(btex ${\rm A}$ etex, z116); label.bot(btex ${\rm E}$ etex, z109); label.bot(btex ${\rm F}$ etex, z119); label.rt(btex ${\rm O}$ etex, z210); label.rt(btex ${\rm P}$ etex, z211); label.rt(btex ${\rm Q}$ etex, z212); label.rt(btex ${\rm Z}$ etex, z213); label.top(btex ${\rm B}$ etex, z205); label.bot(btex ${\rm A}$ etex, z206); label.top(btex ${\rm E}$ etex, z209); label.top(btex ${\rm F}$ etex, z219); endfig; beginfig(2); path p[]; z0 = (0,0); % z0 is origin x100 = x0 + 2u; y100 = x0 + 2.5u; % z100 is centre of first eye x101 = x100; y101 = y100 - 1.5u; % z101 is bottom of eye circle z102 - z100 = (z101 - z100) rotated 45; % z102 on eye circle z103 - z100 = (z101 - z100) rotated 90; % z103 on eye circle z104 - z100 = (z101 - z100) rotated 135; % z104 on eye circle z105 - z100 = (z101 - z100) rotated 180; % z105 on eye circle z106 - z100 = (z101 - z100) rotated 225; % z106 on eye circle z107 - z100 = (z101 - z100) rotated 270; % z107 on eye circle z108 - z100 = (z101 - z100) rotated 315; % z108 on eye circle p10 = z101 .. z102 .. z103 .. z104 .. z105 .. z106 .. z107 .. z108 .. cycle; % path p10 is eye circle z111 - z100 = (z101 - z100) rotated 240; % z111 on eye circle z112 - z100 = (z101 - z100) rotated 120; % z112 on eye circle z113 = 0.3 [z111, z112]; % z113 is right of lens z114 = 0.7 [z111, z112]; % z114 is left of lens z115 = 0.5 [z111, z112]; % z115 is middle of lens x116 = x115; y116 = y115 + 0.2u; % z116 is top of lens z117 - z115 = z115 - z116; % z117 is bottom of lens p11 = z113 .. z116 .. z114; % top half of lens p12 = z113 .. z117 .. z114; % bottom half of lens z121 = point 0 of p11; z122 = point 0.5 of p11; z123 = point 1 of p11; z124 = point 1.5 of p11; z125 = point 2 of p11; z131 = point 0 of p12; z132 = point 0.5 of p12; z133 = point 1 of p12; z134 = point 1.5 of p12; z135 = point 2 of p12; x140 = x100; y140 = y100 + 6u; % top of rays z150 = z101; % point F x141 = x121; y141 = y140; x142 = x122; y142 = y140; x143 = x123; y143 = y140; x144 = x124; y144 = y140; x145 = x125; y145 = y140; z161 = 0.5 [z111, z113]; z163 = 0.08 [z121, z141]; z162 = 0.5 [z161, z163] + (0,0.1u); x115 = 0.5 [x161, x171] = 0.5 [x162, x172] = 0.5 [x163, x173]; y171 = y161; y172 = y162; y173 = y163; z190 = z100 + (-2u, 5u); % z190 is position of label x200 = x100 + 5u; y200 = y100; % z200 is centre of second eye x201 = x200; y201 = y200 - 1.5u; % z201 is bottom of eye circle z202 - z200 = (z201 - z200) rotated 45; % z202 on eye circle z203 - z200 = (z201 - z200) rotated 90; % z203 on eye circle z204 - z200 = (z201 - z200) rotated 135; % z204 on eye circle z205 - z200 = (z201 - z200) rotated 180; % z205 on eye circle z206 - z200 = (z201 - z200) rotated 225; % z206 on eye circle z207 - z200 = (z201 - z200) rotated 270; % z207 on eye circle z208 - z200 = (z201 - z200) rotated 315; % z208 on eye circle p20 = z201 .. z202 .. z203 .. z204 .. z205 .. z206 .. z207 .. z208 .. cycle; % path p20 is eye circle z211 - z200 = (z201 - z200) rotated 240; % z211 on eye circle z212 - z200 = (z201 - z200) rotated 120; % z212 on eye circle z213 = 0.3 [z211, z212]; % z213 is right of lens z214 = 0.7 [z211, z212]; % z214 is left of lens z215 = 0.5 [z211, z212]; % z215 is middle of lens x216 = x215; y216 = y215 + 0.2u; % z216 is top of lens z217 - z215 = z215 - z216; % z217 is bottom of lens p21 = z213 .. z216 .. z214; % top half of lens p22 = z213 .. z217 .. z214; % bottom half of lens z221 = point 0 of p21; z222 = point 0.5 of p21; z223 = point 1 of p21; z224 = point 1.5 of p21; z225 = point 2 of p21; z231 = point 0 of p22; z232 = point 0.5 of p22; z233 = point 1 of p22; z234 = point 1.5 of p22; z235 = point 2 of p22; x240 = x200; y240 = y200 + 6u; % point Z x250 = x201; y250 = y201 - u; % point F z261 = 0.5 [z211, z213]; z263 = 0.08 [z221, z240]; z262 = 0.5 [z261, z263] + (0,0.1u); x215 = 0.5 [x261, x271] = 0.5 [x262, x272] = 0.5 [x263, x273]; y271 = y261; y272 = y262; y273 = y263; z290 = z200 + (-2u, 5u); % z290 is position of label x300 = x200 + 5u; y300 = y200; % z300 is centre of second eye x301 = x300; y301 = y300 - 1.5u; % z301 is bottom of eye circle z302 - z300 = (z301 - z300) rotated 45; % z302 on eye circle z303 - z300 = (z301 - z300) rotated 90; % z303 on eye circle z304 - z300 = (z301 - z300) rotated 135; % z304 on eye circle z305 - z300 = (z301 - z300) rotated 180; % z305 on eye circle z306 - z300 = (z301 - z300) rotated 225; % z306 on eye circle z307 - z300 = (z301 - z300) rotated 270; % z307 on eye circle z308 - z300 = (z301 - z300) rotated 315; % z308 on eye circle p30 = z301 .. z302 .. z303 .. z304 .. z305 .. z306 .. z307 .. z308 .. cycle; % path p30 is eye circle z311 - z300 = (z301 - z300) rotated 240; % z311 on eye circle z312 - z300 = (z301 - z300) rotated 120; % z312 on eye circle z313 = 0.3 [z311, z312]; % z313 is right of lens z314 = 0.7 [z311, z312]; % z314 is left of lens z315 = 0.5 [z311, z312]; % z315 is middle of lens x316 = x315; y316 = y315 + 0.2u; % z316 is top of lens z317 - z315 = z315 - z316; % z317 is bottom of lens p31 = z313 .. z316 .. z314; % top half of lens p32 = z313 .. z317 .. z314; % bottom half of lens z321 = point 0.6 of p31; z322 = point 0.8 of p31; z323 = point 1 of p31; z324 = point 1.2 of p31; z325 = point 1.4 of p31; z331 = point 0.7 of p32; z332 = point 0.85 of p32; z333 = point 1 of p32; z334 = point 1.15 of p32; z335 = point 1.3 of p32; x340 = x300; y340 = y300 + 6u; % point Z x350 = x301; y350 = y301 + 1.5u; % point F z361 = 0.5 [z311, z313]; z363 = 0.08 [z321, z431]; z362 = 0.5 [z361, z363] + (0,0.1u); x315 = 0.5 [x361, x371] = 0.5 [x362, x372] = 0.5 [x363, x373]; y371 = y361; y372 = y362; y373 = y363; z390 = z300 + (-2u, 5u); % z190 is position of label z381 - z300 = (z301 - z300) rotated 240; % z381 on eye circle z382 - z300 = (z301 - z300) rotated 120; % z382 on eye circle x385 = x315; y385 = y315 + 3u; % z385 is middle of external lens x383 = x385 - 0.8 u; y383 = y385; % z383 is left of external lens z384 - z385 = z385 - z383; % z384 is right of extenral lens x386 = x385; y386 = y385 + 0.2u; % z386 is top of lens z387 - z385 = z385 - z386; % z387 is bottom of lens p33 = z383 .. z386 .. z384; % top half of external lens p34 = z383 .. z387 .. z384; % bottom half of external lens z421 = point 0 of p33; z422 = point 0.5 of p33; z423 = point 1 of p33; z424 = point 1.5 of p33; z425 = point 2 of p33; z431 = point 0 of p34; z432 = point 0.5 of p34; z433 = point 1 of p34; z434 = point 1.5 of p34; z435 = point 2 of p34; z451 = p30 intersectionpoint (z350 -- 10 [z331, z350]); z452 = p30 intersectionpoint (z350 -- 10 [z332, z350]); z453 = p30 intersectionpoint (z350 -- 10 [z333, z350]); z454 = p30 intersectionpoint (z350 -- 10 [z334, z350]); z455 = p30 intersectionpoint (z350 -- 10 [z335, z350]); draw p10; draw z111 -- z113; draw z112 -- z114; draw p11; draw p12; draw z141 -- z121 -- z131 -- z150; draw z142 -- z122 -- z132 -- z150; draw z143 -- z123 -- z133 -- z150; draw z144 -- z124 -- z134 -- z150; draw z145 -- z125 -- z135 -- z150; draw z161 .. z162 .. z163; draw z171 .. z172 .. z173; draw p20; draw z211 -- z213; draw z212 -- z214; draw p21; draw p22; draw z240 -- z221 -- z231 -- z250; draw z240 -- z222 -- z232 -- z250; draw z240 -- z223 -- z233 -- z250; draw z240 -- z224 -- z234 -- z250; draw z240 -- z225 -- z235 -- z250; draw z261 .. z262 .. z263; draw z271 .. z272 .. z273; draw p30; draw z311 -- z313; draw z312 -- z314; draw p31; draw p32; draw p33; draw p34; draw z340 -- z421 -- z431 -- z321 -- z331 -- z451; draw z340 -- z422 -- z432 -- z322 -- z332 -- z452; draw z340 -- z423 -- z433 -- z323 -- z333 -- z453; draw z340 -- z424 -- z434 -- z324 -- z334 -- z454; draw z340 -- z425 -- z435 -- z325 -- z335 -- z455; draw z361 .. z362 .. z363; draw z371 .. z372 .. z373; label.lft(btex ${\rm N}$ etex, z107); label.rt(btex ${\rm P}$ etex, z103); label.bot(btex ${\rm F}$ etex, z150); label.llft(btex ${\rm A}$ etex, z113); label.lrt(btex ${\rm B}$ etex, z114); label.rt(btex Fig.~1 etex, z190); label.lft(btex ${\rm N}$ etex, z207); label.rt(btex ${\rm P}$ etex, z203); label.top(btex ${\rm Z}$ etex, z240); label.bot(btex ${\rm F}$ etex, z250); label.llft(btex ${\rm A}$ etex, z213); label.lrt(btex ${\rm B}$ etex, z214); label.rt(btex Fig.~2 etex, z290); label.lft(btex ${\rm N}$ etex, z307); label.rt(btex ${\rm P}$ etex, z303); label.top(btex ${\rm Z}$ etex, z340); label.rt(btex ${\rm F}$ etex, z350); label.llft(btex ${\rm A}$ etex, z313); label.lrt(btex ${\rm B}$ etex, z314); label.lft(btex ${\rm Q}$ etex, z383); label.rt(btex ${\rm S}$ etex, z384); label.lrt(btex ${\rm C}$ etex, z451); label.llft(btex ${\rm D}$ etex, z455); label.rt(btex Fig.~3 etex, z390); endfig; beginfig(3); path p[]; z0 = (0,0); % z0 is origin x100 = x0 + 2.5u; y100 = x0 + 2.5u; % z100 is centre eye x101 = x100 - 2.0u; y101 = y100; % z101 is left of eye circle z102 - z100 = (z101 - z100) rotated 45; % z102 on eye circle z103 - z100 = (z101 - z100) rotated 90; % z103 on eye circle z104 - z100 = (z101 - z100) rotated 135; % z104 on eye circle z105 - z100 = (z101 - z100) rotated 180; % z105 on eye circle z106 - z100 = (z101 - z100) rotated 225; % z106 on eye circle z107 - z100 = (z101 - z100) rotated 270; % z107 on eye circle z108 - z100 = (z101 - z100) rotated 315; % z108 on eye circle p10 = z101 .. z102 .. z103 .. z104 .. z105 .. z106 .. z107 .. z108 .. cycle; % path p10 is eye circle z111 - z100 = (z101 - z100) rotated 240; % z111 on eye circle z112 - z100 = (z101 - z100) rotated 120; % z112 on eye circle z113 = 0.3 [z111, z112]; % z113 is top of lens z114 = 0.7 [z111, z112]; % z114 is bottom of lens z115 = 0.5 [z111, z112]; % z115 is middle of lens x116 = x115 + 0.2u; y116 = y115; % z116 is right of lens z117 - z115 = z115 - z116; % z117 is left of lens p11 = z113 .. z116 .. z114; % top half of lens p12 = z113 .. z117 .. z114; % bottom half of lens x122 = x100 + 8u; y122 = y100; % z122 is point B x121 = x122; y121 = y122 + 1.5u; % z121 is point A z123 - z122 = z122 - z121; % z123 is point C z131 = p10 intersectionpoint (z116 -- 10 [z121, z116]); z132 = p10 intersectionpoint (z116 -- 10 [z122, z116]); z133 = p10 intersectionpoint (z116 -- 10 [z123, z116]); x141 = x121 - 0.15u; y141 = y121; z143 - z123 = z141 - z121; z151 = 0.97 [z116, z131]; z152 = 0.97 [z116, z132]; z153 = 0.97 [z116, z133]; z161 - z162 = 0.8 (z121 - z122) rotated 90; 0.5 [z161, z162] = 0.3 [z121, z122]; z163 - z164 = z161 - z162; 0.5 [z163, z164] = 0.4 [z121, z122]; z171 - z172 = 0.8 (z131 - z132) rotated 90; 0.5 [z171, z172] = 0.3 [z131, z132]; z173 - z174 = z171 - z172; 0.5 [z173, z174] = 0.4 [z131, z132]; draw p10; draw z111 -- z113; draw z112 -- z114; draw p11; draw p12; draw z121 -- z123; draw z122 -- z132; draw z121 -- z131 dashed evenly; draw z123 -- z133 dashed evenly; draw z122 -- z113 -- z132; draw z121 -- z113 -- z131 dashed evenly; draw z123 -- z113 -- z133 dashed evenly; draw z122 -- z114 -- z132; draw z121 -- z114 -- z131 dashed evenly; draw z123 -- z114 -- z133 dashed evenly; draw z141 -- z143; draw z151 .. z152 .. z153; draw z161 -- z162 -- z164 -- z163 -- cycle; draw z171 -- z172 -- z174 -- z173 -- cycle; label.rt(btex ${\rm A}$ etex, z121); label.rt(btex ${\rm B}$ etex, z122); label.rt(btex ${\rm C}$ etex, z123); label.lft(btex ${\rm a}$ etex, z131); label.lft(btex ${\rm b}$ etex, z132); label.lft(btex ${\rm c}$ etex, z133); endfig; bye;