diff --git a/src/data.ts b/src/data.ts index 2d61e9a..62de2aa 100644 --- a/src/data.ts +++ b/src/data.ts @@ -375,6 +375,12 @@ export const MAUREEN_CHANG: Contributor = { institute: Institute.UCIrvine, }; +export const MENGMENG_TIAN: Contributor = { + name: "Mengmeng Tian", + email: "mengment@uci.edu", + institute: Institute.UCIrvine, +} + export const MINGHUA_TSAI: Contributor = { name: "Minghua Tsai", email: "minghut1@uci.edu", @@ -443,6 +449,7 @@ export const contributors: Contributor[] = [ MELISSA_YU, KIRA_ZHANG, MAUREEN_CHANG, + MENGMENG_TIAN, MINGHUA_TSAI ].sort((a, b) => { const aLastName = a.name.split(" ").pop() as string; @@ -570,7 +577,7 @@ export const topics: Topic[] = [ essay: "pdfs/topic08.pdf", animationContributors: [YIXUAN_LI], essayContributors: [KEN_DENG], - captionContributors: [], + captionContributors: [MENGMENG_TIAN], }, { diff --git a/src/views/topics/GdpTopic08View.vue b/src/views/topics/GdpTopic08View.vue index 0c0a28f..cb9cd7d 100644 --- a/src/views/topics/GdpTopic08View.vue +++ b/src/views/topics/GdpTopic08View.vue @@ -5,6 +5,23 @@
Gergonne and Nagel Points + +

+ In the following picture, D, E, F are the tangent points of the incircle + to the sides BC, CA, and AB, respectively. + AD, BE, and CF are concurrent at the + Gergonne point G. +

+

+ Similarly, let J, K, L be the tangent points of the excircles to the + sides BC, CA, AB. Then AJ, BK, and CL are concurrent at + the Nagel point N. +

+

+ Click, hold, and move points A, B, and C, we shall see + the positions of G and N will also change accordingly. +

+
@@ -41,9 +58,9 @@ export default defineComponent( const lineAD = makeLine(); const lineBE = makeLine(); const lineCF = makeLine(); - const lineAL = makeLine(); - const lineBJ = makeLine(); - const lineCK = makeLine(); + const lineAJ = makeLine(); + const lineBK = makeLine(); + const lineCL = makeLine(); const lineAG = makeLine(); const lineBG = makeLine(); const lineCG = makeLine(); @@ -148,19 +165,19 @@ export default defineComponent( lineAB.m, lineAB.b ); - const pointL = calculateLineIntersectInLinearEquation( + const pointJ = calculateLineIntersectInLinearEquation( lineAN.m, lineAN.b, lineBC.m, lineBC.b ); - const pointJ = calculateLineIntersectInLinearEquation( + const pointK = calculateLineIntersectInLinearEquation( lineBN.m, lineBN.b, lineAC.m, lineAC.b ); - const pointK = calculateLineIntersectInLinearEquation( + const pointL = calculateLineIntersectInLinearEquation( lineCN.m, lineCN.b, lineAB.m, @@ -178,17 +195,17 @@ export default defineComponent( left: pointF.x - 23, top: pointF.y - 15, }); - lLabel.set({ - left: pointL.x - 5, - top: pointL.y + 10, - }); jLabel.set({ - left: pointJ.x + 10, - top: pointJ.y - 20, + left: pointJ.x - 5, + top: pointJ.y + 10, }); kLabel.set({ - left: pointK.x - 23, - top: pointK.y - 15, + left: pointK.x + 10, + top: pointK.y - 20, + }); + lLabel.set({ + left: pointL.x - 23, + top: pointL.y - 15, }); gLabel.set({ left: pointG.x + 5, @@ -223,25 +240,25 @@ export default defineComponent( y2: pointF.y, stroke: "blue", }); - lineAL.set({ + lineAJ.set({ x1: points[0].x, y1: points[0].y, - x2: pointL.x, - y2: pointL.y, + x2: pointJ.x, + y2: pointJ.y, stroke: "green", }); - lineBJ.set({ + lineBK.set({ x1: points[1].x, y1: points[1].y, - x2: pointJ.x, - y2: pointJ.y, + x2: pointK.x, + y2: pointK.y, stroke: "green", }); - lineCK.set({ + lineCL.set({ x1: points[2].x, y1: points[2].y, - x2: pointK.x, - y2: pointK.y, + x2: pointL.x, + y2: pointL.y, stroke: "green", }); nNode.set({ @@ -289,9 +306,9 @@ export default defineComponent( canvas.add(lineAD); canvas.add(lineBE); canvas.add(lineCF); - canvas.add(lineAL); - canvas.add(lineBJ); - canvas.add(lineCK); + canvas.add(lineAJ); + canvas.add(lineBK); + canvas.add(lineCL); canvas.add(lineAG); canvas.add(lineBG); canvas.add(lineCG);