diff options
| author | Paweł Redman <pawel.redman@gmail.com> | 2026-06-14 23:07:46 +0200 |
|---|---|---|
| committer | Paweł Redman <pawel.redman@gmail.com> | 2026-06-14 23:07:46 +0200 |
| commit | 9f72120b9ff063ab0d41f850a7bb6ee394a623b7 (patch) | |
| tree | 3e7d67d19311150be2da53a41532f08414b17842 /site/content | |
| parent | f13eee247a6f318e0bd9cabb878316e80ee916a0 (diff) | |
Migrate more math content and the thesis
Diffstat (limited to 'site/content')
| -rw-r--r-- | site/content/bsc_thesis.typ | 12 | ||||
| -rw-r--r-- | site/content/gsoc/mid_august.typ | 4 | ||||
| -rw-r--r-- | site/content/math/angle_between_two_vectors.typ | 14 | ||||
| -rw-r--r-- | site/content/math/atan2.typ | 5 | ||||
| -rw-r--r-- | site/content/math/index.typ | 43 | ||||
| -rw-r--r-- | site/content/software/polarization.typ | 13 |
6 files changed, 82 insertions, 9 deletions
diff --git a/site/content/bsc_thesis.typ b/site/content/bsc_thesis.typ new file mode 100644 index 0000000..d9790ca --- /dev/null +++ b/site/content/bsc_thesis.typ @@ -0,0 +1,12 @@ +#import "/common.typ": post, static + +#show: post.with( + title: "A comparison of methods of assessing the quality of color rendering of consumer light sources", + date: datetime(year: 2020, month: 8, day: 15), +) + +The full text in Polish is available #link(static("w11_236771_2019_praca_inzynierska.pdf"))[here]. The LaTeX and Python source code is available at #link("https://redman.xyz/git/praca_inzynierska", "praca_inzynierska"). + += Abstract + +In science and the industry, many methods of assessing quality of color rendering are in use, from the oldest, created in the middle of the 20th century, to completely new ones. The goal of this work is an overview and comparison of the most widely used of these, with a specific focus on their applicability to widely available, commerical light sources. diff --git a/site/content/gsoc/mid_august.typ b/site/content/gsoc/mid_august.typ index ef06246..f517d84 100644 --- a/site/content/gsoc/mid_august.typ +++ b/site/content/gsoc/mid_august.typ @@ -1,4 +1,4 @@ -#import "/common.typ": post, link-self +#import "/common.typ": post, link-self, anchor #show: post.with( title: "Mid-August progress report", @@ -22,7 +22,7 @@ This is a very interesting and quite complicated method that I covered in a four The #link("https://github.com/colour-science/colour/pull/607")[pull request] is awaiting review. -#html.elem("span", attrs: (id: "mallett_and_yuksel_2019"))[] +#anchor("mallett_and_yuksel_2019") = Mallett and Yuksel (2019) <mallett_and_yuksel_2019> This method seeks to create reflectivities $bold(s)_r$, $bold(s)_g$, $bold(s)_b$ that match RGB primaries and use them for reconstruction. Given an $(r, g, b)$ triplet, the recovered spectrum is simply: diff --git a/site/content/math/angle_between_two_vectors.typ b/site/content/math/angle_between_two_vectors.typ index b779a5f..043d65a 100644 --- a/site/content/math/angle_between_two_vectors.typ +++ b/site/content/math/angle_between_two_vectors.typ @@ -3,6 +3,7 @@ #show: post.with( title: "Angle between two vectors", date: datetime(year: 2020, month: 4, day: 17), + updated: datetime(year: 2026, month: 6, day: 14), ) #figure( @@ -67,16 +68,19 @@ which is why the dot product doesn't carry enough information to compute $psi$. == In two dimensions -In any coordinate system: +$ + psi(bold(u), bold(v)) &= op("atan2")(bold(u) times_2 bold(v), bold(u) dot bold(v)) +$ + +where the "two-dimensional cross product" is defined as: $ - psi(bold(u), bold(v)) &= op("atan2")(bold(u) times_2 bold(v), bold(u) dot bold(v)) \ - &= op("atan2")(u_1 v^2 - u_2 v^1, u_1 v^1 + u_2 v^2) + bold(u) times_2 bold(v) = u_1 v_2 - u_2 v_1 = u v sin theta $ == Derivation: in two dimensions -Using the geometric definitions of the #link-self("math/2d_cross_product")[two-dimensional cross product] and the dot product: +Using the geometric definitions of the two-dimensional cross product (above) and the dot product: $ cases( @@ -94,7 +98,7 @@ $ ) $ -Solving for $theta$ (see #link-self("math/atan2")[Systems of equations involving the cosine and the sine of an unknown]): +Solving for $theta$ (see #link-self("math/atan2#systems")[Systems of equations involving the cosine and the sine of an unknown]): $ theta &= op("atan2")(1 / (u v) bold(u) times_2 bold(v), 1 / (u v) bold(u) dot bold(v)) \ diff --git a/site/content/math/atan2.typ b/site/content/math/atan2.typ index 4442889..7fa77c8 100644 --- a/site/content/math/atan2.typ +++ b/site/content/math/atan2.typ @@ -1,4 +1,4 @@ -#import "/common.typ": post, static, img +#import "/common.typ": post, static, img, anchor #show: post.with( title: "atan2", @@ -45,7 +45,8 @@ $ Interestingly, the function $tan^(-1)(y / x)$ has the same partial derivatives. -= Systems of equations involving the cosine and the sine of an unknown +#anchor("systems") += Systems of equations involving the cosine and the sine of an unknown <systems> #figure( img(static("math/polar-coords.png")), diff --git a/site/content/math/index.typ b/site/content/math/index.typ new file mode 100644 index 0000000..a1a6c4a --- /dev/null +++ b/site/content/math/index.typ @@ -0,0 +1,43 @@ +#import "/common.typ": post, link-self + +#show: post.with( + title: "Math notes", +) + +This part of the site is a loose collection of my math notes. + +- #link-self("math/angle_between_two_vectors")[Angle between two vectors] +- #link-self("math/atan2")[atan2] +- #link-self("math/integrating_sin2x")[Integrating sin² x] +- #link-self("math/integrating_cos2x")[Integrating cos² x] +- #link-self("math/ray_vs_sphere")[Ray vs. sphere intersection] +- #link-self("math/rotational_symmetries_bravais_lattice")[Possible rotational symmetries in a Bravais lattice] + += Notation + +Since there are so many conventions in linear algebra, I've decided to pick one and be consistent. Below is what I use throughout the site. + +== Vectors + +#table( + columns: 2, + [$bold(x)$], [A vector (bold font).], + [$x$], [The norm of the vector $bold(x)$ (a scalar), if it appears in the text. Otherwise, it's some scalar.], + [$x^2$], [The inner product of a vector with itself (a scalar). Equivalently, the norm of the vector squared.], + [$|bold(a) + bold(b) times bold(c)|$], [The norm of a vector expression (a scalar).], + [$bold(a) dot bold(b)$], [The inner product of two vectors (a scalar).], + [$bold(a) times bold(b)$], [The cross product of two vectors (a vector).], +) + +== Matrices + +#table( + columns: 2, + [$hat(M)$], [A matrix.], + [$hat(A) hat(B)$], [A matrix product (a matrix). The former is *premultiplying* the latter or, equivalently, the latter is *postmultiplying* the former.], + [$hat(M) bold(x)$], [A matrix premultiplying a vector or, equivalently, operating on it (a vector).], + [$hat(A) times.circle hat(B)$], [The Kronecker product of two matrices (a matrix).], + [$hat(M)^(-1)$], [The inverse of an invertible square matrix (a matrix).], + [$op("det") hat(M)$], [The determinant of a square matrix (a scalar).], + [$op("Tr") hat(M)$], [The trace of a square matrix (a scalar).], +) diff --git a/site/content/software/polarization.typ b/site/content/software/polarization.typ new file mode 100644 index 0000000..3e514be --- /dev/null +++ b/site/content/software/polarization.typ @@ -0,0 +1,13 @@ +#import "/common.typ": post, static, img + +#show: post.with( + title: "Polarization", + date: datetime(year: 2020, month: 3, day: 23), +) + +#figure( + img(static("software/polarization.jpg")), + caption: [A screenshot.], +) + +This is a Python program I've written for myself to understand how light polarization works. The source code is available at #link("https://zittrig.eu/git/enneract/polarization")[polarization]. It needs a lot of polishing. I'll do that when I find the time then write a proper article. |
