Tangent Plane

f (x, y, z) == c

r (t) == x (t) i + y (t) j + z (t) k

r (t_0) = x_0 = (x_0, y_0, z_0)

(x - x_0) ∂f/∂x (x_0, y_0, z_0) + (y - y_0) ∂f/∂y (x_0, y_0, z_0) + (z - z_0) ∂f/∂z (x_0, y_0, z_0) == 0

FindFit

plotDA = ListPlot[DA, PlotStyle→PointSize[0.02], DisplayFunction→Identity] ;

fDA = FindFit[DA, a * Power[x, 4] + b * Power[x, 2] + c, {a, b, c}, x] ;

lineDA = Plot[a * Power[x, 4] + b * Power[x, 2] + c/.fDA, {x, -100, 100}, DisplayFunction→Identity] ;

SDA = Show[plotDA, lineDA, DisplayFunction→$DisplayFunction] ;

a * Power[x, 4] + b * Power[x, 2] + c/.fDA

Refraction Lens Report Two Surface

Solve[ (I0 + K0 yv Cos[xv] S1v)^2/a1^2 + (K0 - K0 S1v)^2/b1^2 == 1, S1v]

Solve[ a1 (I0 + K0 yv Cos[xv] S1v)^2 + (K0 - K0 S1v) == 0, S1v]

Solve[(I0 + K0 yv Cos[xv] S1v)^2/a1^2 + (K0 - K0 S1v)^2/b1^2 + (K0 - K0 S1v)/c1 - 1 == 0, S1v]

Solve[ a1 (I0 + K0 yv Cos[xv] S1v)^4 + b1 (I0 + K0 yv Cos[xv] S1v)^2 + c1 + d1 (K0 - K0 S1v) == 0, S1v]

xv = (i + 0.00005) * Pi/(0.5 * r0) ;

yv = Tan[LED * (j/r3) * Pi/180] ; <br />

x1v = I0 + K0 yv Cos[xv] S1v ;

y1v = J0 + K0 yv Sin[xv] S1v ;

z1v = K0 - K0 S1v ;

x1Nv = x1v - 2 x1v/Power[a1, 2] ;

y1Nv = y1v ;

z1Nv = z1v - 2 z1v/Power[b1, 2] ; <br />

x1v = I0 + K0 yv Cos[xv] S1v ;

y1v = J0 + K0 yv Sin[xv] S1v ;

z1v = K0 - K0 S1v ;

x1Nv = x1v - 2 a1 x1v ;

y1Nv = y1v ;

z1Nv = z1v - 1 ; <br />

a1Av = ArcTan[(I0 - x1v)/(J0 - y1v)] ;

b1Av = ArcTan[Sqrt[1 + Power[I0 - x1v, 2]/Power[J0 - y1v, 2]] (J0 - y1v)/(K0 - z1v)] ;

c1Av = ArcTan[((x1v - x1Nv) Cos[a1Av] + (y1Nv - y1v) Sin[a1Av])/((y1v - y1Nv) Cos[a1Av] Cos[b1Av] + (x1v - x1Nv) Cos[b1Av] Sin[a1Av] + (z1Nv - z1v) Sin[b1Av])] ;

O1v = Pi/2 - I1v + ArcSin[Sin[I1v]/N] ;

av = Cos[O1v] (Sin[a1Av] Cos[b1Av] Cos[c1Av] + Cos[a1Av] Sin[c1Av]) + Sin[O1v] Sin[a1Av] Sin[b1Av] ;

bv = Cos[O1v] (Cos[a1Av] Cos[b1Av] Cos[c1Av] - Sin[a1Av] Sin[c1Av]) + Sin[O1v] Cos[a1Av] Sin[b1Av] ;

cv = -Cos[O1v] Sin[b1Av] Cos[c1Av] + Sin[O1v] Cos[b1Av] ;

S2v = (c2 - z1v)/cv ; <br />

x2v = x1v + av S2v ;

y2v = y1v + bv S2v ;

z2v = z1v + cv S2v ; <br />

x2Nv = x2v ;

y2Nv = y2v ;

z2Nv = z2v - 1 ; <br />

a2Av = ArcTan[(x1v - x2v)/(y1v - y2v)] ;

b2Av = ArcTan[Sqrt[1 + Power[x1v - x2v, 2]/Power[y1v - y2v, 2]] (y1v - y2v)/(z1v - z2v)] ;

c2Av = ArcTan[((x2v - x2Nv) Cos[a2Av] + (y2Nv - y2v) Sin[a2Av])/((y2v - y2Nv) Cos[a2Av] Cos[b2Av] + (x2v - x2Nv) Cos[b2Av] Sin[a2Av] + (z2Nv - z2v) Sin[b2Av])] ; <br />

O2v = Pi/2 - I2v + ArcSin[Sin[I2v] N] ; <br />

x3v = x2v + (Cos[O2v] (Sin[a2Av] Cos[b2Av] Cos[c2Av] + Cos[a2Av] Sin[c2Av]) + Sin[O2v] Sin[a2Av] Sin[b2Av]) H ;

y3v = y2v + (Cos[O2v] (Cos[a2Av] Cos[b2Av] Cos[c2Av] - Sin[a2Av] Sin[c2Av]) + Sin[O2v] Cos[a2Av] Sin[b2Av]) H ;

z3v = z2v + (-Cos[O2v] Sin[b2Av] Cos[c2Av] + Sin[O2v] Cos[b2Av]) H ; <br />

Null

Solve[{(x - x2v)/(x3v - x2v) == (y - y2v)/(y3v - y2v) == (z - z2v)/(z3v - z2v), x^2 + (z - c2)^2 == R^2}, {x, y, z}]

iv = (Sv (x2v - x3v) + c2 (x2v - x3v) Power[z2v - z3v, 2] + Power[z2v - z3v, 2] (z2v * x3v - x2v * z3v))/((Power[x2v - x3v, 2] + Power[z2v - z3v, 2]) (z2v - z3v)) ;

kv = (Sv + c2 * Power[z2v - z3v, 2] + (x2v - x3v) (x2v * z3v - z2v * x3v))/(Power[x2v - x3v, 2] + Power[z2v - z3v, 2]) ;

Rv = ArcTan[(kv - c2)/iv] + If[ArcTan[kv/iv] >0, -Pi/2, Pi/2] ;

Refraction Lens Report

xz = (i + 0.5) * Pi/(0.5 * r2) ;

yz = Tan[LED * (j/r3) * Pi/180] ;

Solve[ (K0 * yz * Cos[xz] wz)^2/a1^2 + (K0 - K0 * wz)^2/b1^2 == 1, wz]

wz = (Power[a1 * K0, 2] + Sqrt[Power[a1 * b1 * K0, 2] (Power[a1, 2] + (Power[b1, 2] - Power[K0, 2]) Power[yz * Cos[xz], 2])])/(Power[K0, 2] (Power[a1, 2] + Power[b1 * yz * Cos[xz], 2])) ;

az = K0 * yz * Cos[xz] wz ;

bz = K0 * yz * Sin[xz] wz ;

cz = K0 - K0 * wz ;

dz = ArcTan[az/bz] ;

ez = ArcTan[(Sqrt[1 + Power[az, 2]/Power[bz, 2]] bz)/(cz - K0)] ;

fz = ArcTan[(az * Power[b1, 2] * Cos[dz])/(az * Power[b1, 2] * Cos[ez] Sin[dz] - cz * Power[a1, 2] * Sin[ez])] ;

hz = Pi/2 - gz + ArcSin[Sin[gz]/N] ;

lz = az + (Cos[hz] (Sin[dz] Cos[ez] Cos[fz] + Cos[dz] Sin[fz]) + Sin[hz] Sin[dz] Sin[ez]) * (c2 - cz)/(-Cos[hz] Sin[ez] Cos[fz] + Sin[hz] Cos[ez]) ;

mz = bz + (Cos[hz] (Cos[dz] Cos[ez] Cos[fz] - Sin[dz] Sin[fz]) + Sin[hz] Cos[dz] Sin[ez]) * (c2 - cz)/(-Cos[hz] Sin[ez] Cos[fz] + Sin[hz] Cos[ez]) ;

nz = c2 ;

oz = ArcTan[(az - lz)/(bz - mz)] ;

pz = ArcTan[Sqrt[1 + Power[az - lz, 2]/Power[bz - mz, 2]] (bz - mz)/(cz - nz)] ;

qz = Pi/2 - ArcCos[-Sin[pz]] ;

rz = Pi/2 - qz + ArcSin[If[Abs[qz] <ArcSin[1/N], N * Sin[qz], Sign[qz]]] ; <br />

sz = lz + (Cos[rz] Sin[oz] Cos[pz] + Sin[rz] Sin[oz] Sin[pz]) H ;

tz = mz + (Cos[rz] Cos[oz] Cos[pz] + Sin[rz] Cos[oz] Sin[pz]) H ;

uz = nz + (-Cos[rz] Sin[pz] + Sin[rz] Cos[pz]) H ;

Solve[{(x - lz)/(sz - lz) == (y - mz)/(tz - mz) == (z - nz)/(uz - nz), x^2 + (z - c2)^2 == R^2}, {x, y, z}]

iz = (Sz (lz - sz) + c2 (lz - sz) Power[nz - uz, 2] + Power[nz - uz, 2] (nz * sz - lz * uz))/((Power[lz - sz, 2] + Power[nz - uz, 2]) (nz - uz)) ;

kz = (Sz + c2 * Power[nz - uz, 2] + (lz - sz) (lz * uz - nz * sz))/(Power[lz - sz, 2] + Power[nz - uz, 2]) ;

Rz = (ArcTan[(kz - c2)/iz] + If[ArcTan[kz/iz] >0, -Pi/2, Pi/2]) * R ;