Behold all-new equations for triangles!

Sdílet
Vložit
  • čas přidán 25. 04. 2023
  • Thanks to Jane Street for supporting this video. Check out their open roles, programs and events: www.janestreet.com/join-jane-...
    Here is the original "Is there an equation for a triangle?" video. • Is there an equation f... (I'm taking suggestions for what Part III should be named. Comment below.)
    And thanks to everyone who contributed to the triangleness. Here are all the triangles and non-triangles mentioned in this video:
    Mohammed Jafari's close-but-not-triangle: www.desmos.com/calculator/hr1...
    Generic Viewer's close-but-not-triangle: www.desmos.com/calculator/kzp...
    Harrison's non-generalised triangle: www.desmos.com/calculator/cvp...
    Idiotinium's non-generalised triangle: www.desmos.com/calculator/svf...
    Jaden's non-generalised triangle: www.desmos.com/calculator/uas...
    Tristan's non-generalised triangle: www.desmos.com/calculator/pdu...
    And Tristan's Zombie Walker: www.desmos.com/calculator/zkc...
    Reddit thread generalising triangle equation: / response_to_matt_parke...
    Anson Mansfield's generalised triangle: www.desmos.com/calculator/pbz...
    Graham Goble's generalised triangle: www.desmos.com/calculator/eax...
    Steve's generalised triangle: www.desmos.com/calculator/qy4...
    Inigo's triangle in ShaderToy: www.shadertoy.com/view/XsXSz4
    Huge thanks to my Patreon supports. They encourage me to triangle my best. / standupmaths
    CORRECTIONS
    - None yet, let me know if you spot anything!
    Filming by Alex Genn-Bash
    Editing by Michelle Martin
    Diagrams by Sam Hartburn
    Written and performed by Matt Parker
    Produced by Nicole Jacobus
    Music by Howard Carter
    Design by Simon Wright and Adam Robinson
    MATT PARKER: Stand-up Mathematician
    Website: standupmaths.com/
    US book: www.penguinrandomhouse.com/bo...
    UK book: mathsgear.co.uk/collections/b...
  • Zábava

Komentáře • 838

  • @dougalstanton
    @dougalstanton Před rokem +2337

    I can't believe you didn't call the missing vertices "plot holes".

    • @HasekuraIsuna
      @HasekuraIsuna Před rokem +39

      ... *nice*

    • @littlered6340
      @littlered6340 Před rokem +13

      MASSIVELY underrated comment. Not even 69 smh
      Edit: I see it now has over 69 likes but it is still not enough.

    • @MrShiggitty
      @MrShiggitty Před rokem +8

      Someone gonna steal this idea for a T-Shirt, its so good lol. Bruh hurry up and secure the movie rights xD

    • @poppyseedsnuranium
      @poppyseedsnuranium Před rokem +1

      @@HasekuraIsuna ... Nice

    • @Son_Of_Atreides
      @Son_Of_Atreides Před rokem +22

      Would that make the stick man walking a plot twist?

  • @ThisSteveGuy
    @ThisSteveGuy Před rokem +921

    Why not "Tri Harder"?

  • @NoahStolee
    @NoahStolee Před rokem +321

    “‘Every triangle’s a love triangle when you love triangles’ - Pythagoras” -James Acaster

    • @NeatNit
      @NeatNit Před rokem +8

      Oh wow, that's so James Acaster. Can you say where this joke is from?

    • @JordanBiserkov
      @JordanBiserkov Před rokem +2

      "Every love triangle has at least one obtuse angle" (obtuse ~ stupid)

    • @vincentfreddoyle7555
      @vincentfreddoyle7555 Před rokem +1

      @@JordanBiserkovmeaning none of them are right
      (As in morally)

    • @JordanBiserkov
      @JordanBiserkov Před rokem +1

      @@vincentfreddoyle7555 It doesn't follow from the axioms. Morality is complicated. You can't control who you fall in love with. You can (and should) control your actions. But you also can (and should) fight for your love ones. And in love (as in war) everything is allowed. Nobody will be judging the winners. Rant over, back to geometry.

    • @vincentfreddoyle7555
      @vincentfreddoyle7555 Před rokem

      @@JordanBiserkov yes,polygons angles surface area

  • @rev6330
    @rev6330 Před rokem +1410

    10:00 To get rid of the "annoying dot" at the origin, just multiply the entire equation by (|x|+|y|)/(|x|+|y|). This factor is 1 everywhere except for the origin where the denominator is 0 and therefore the equation becomes undefined.

    • @kyay10
      @kyay10 Před rokem +165

      You could also multiply it by 0^((0^(x^2)) * (0^(y^2))) which basically (ab)uses the convention that 0^0=1 as a logical not gate, and so it's only 1 (true) when not(not(x^2) and not(y^2)) which means not((x^2 = 0) and (y^2 = 0)) and so it's only true when not on the origin

    • @hughobyrne2588
      @hughobyrne2588 Před rokem +94

      But some triangles have edges that legitimately go through the origin.
      *EDIT:* Never mind, I was ignoring some context of that particular part of the video, as others have pointed out below.

    • @kyay10
      @kyay10 Před rokem +15

      @@hughobyrne2588 oh true. Hmmmm, maybe what you can do is use a complicated logical-or kind of equation by basically checking if any of the edges actually include the origin, and if so then calculate the distance from the centre of the triangle, borrowing from another equation from the video

    • @rev6330
      @rev6330 Před rokem +15

      @@kyay10 Not exactly. Your solution is elegant for sure, but doesn't quite do the trick. The goal is to get rid of the 0 at the origin, so multiplying by another 0 doesn't really help. :D
      However, you could still use your approach by adding (1-0^((0^(x^2)) * (0^(y^2)))) to the equation. It adds 0 everywhere, excapt at the origin it adds 1.

    • @skyjoe55
      @skyjoe55 Před rokem +10

      ​@@hughobyrne2588 That is true in general but not in the specific graph in question

  • @JoshZanders
    @JoshZanders Před rokem +430

    That walking-stickman plot was BONKERS. 🤣 I never would've thought to create an equation that animates a figure with a single dynamic value.

    • @aceman0000099
      @aceman0000099 Před rokem +24

      Wait until you hear about Pixar. And a little variable called T for time 😂

    • @marsovac
      @marsovac Před rokem +10

      @@aceman0000099 rest assured pixar is not using equations with one variable to render their movies. A game or rendering engine has the game time parameter but that is also not used to run equations, but rather to define the velocity of transformations applied to 3D meshes to render each frame. Each frame per se has no T as input, it just has static vertex positions which get in memory modified every T time.

    • @aceman0000099
      @aceman0000099 Před rokem +6

      @@marsovac they get modified in memory according to the curved paths of interpolation, which is an equation that takes position A and Position B and gives you a position in between based on T. Whether it's flash animation or 3D motion capture, there is undoubtedly interpolation and splines involved. I've made animations before.

    • @simonmultiverse6349
      @simonmultiverse6349 Před rokem +1

      Personally, I would start with something smooth... some kind of series... I know EXACTLY what I mean, but you'll appreciate it better if you work it out for yourself.
      *FURTHERMORE* ... there's a finesse which makes it even better.

    • @simonmultiverse6349
      @simonmultiverse6349 Před rokem +1

      *MATT* ... it's not "arbitary" ...the word is arbit *R* ary !!!

  • @asheep7797
    @asheep7797 Před rokem +650

    The triangular sequel!
    We want a triangular trilogy!

  • @Janokins
    @Janokins Před rokem +455

    It's good to see Inigo getting recognition. He's the shader programming GOAT

    • @johnsarthole
      @johnsarthole Před rokem +4

      I was going to say that

    • @NoNameAtAll2
      @NoNameAtAll2 Před rokem +21

      his name is Inigo Mantoya
      you killed his father
      prepare to die

    • @lillilacac
      @lillilacac Před rokem +31

      Inigo has worked on many Pixar films as well (Brave, The Good Dinosaur, Lava)

    • @aceman0000099
      @aceman0000099 Před rokem +17

      In 2050 they will teach about Inigo Q in the "history of computing" lessons

    • @PureAsbestos
      @PureAsbestos Před rokem +11

      I believe I had commented about Inigo's SDF on the original video. He is indeed a shader god and deserves all the recognition.

  • @oleg-avdeev
    @oleg-avdeev Před rokem +260

    Of course it’s Inigo Quilez! You can expect the guy to pop up every time something resembling signed distance fields happens. An absolute legend.

    • @jonathansharret4900
      @jonathansharret4900 Před rokem +12

      His videos are amazing.

    • @elenplays
      @elenplays Před rokem +2

      An absolute God

    • @chromosundrift
      @chromosundrift Před 11 měsíci +1

      Yeah and he not only has equations for a triangle but also for spectacular animated 3d characters with lighting and shadows and scenery!

  • @tuna5618
    @tuna5618 Před rokem +534

    What a relief, I was lying awake at night wondering when new equations for triangles would come and this is just what I need. Finally, something useful on the internet for once.

    • @DhirC35
      @DhirC35 Před rokem +4

      😂

    • @oosmanbeekawoo
      @oosmanbeekawoo Před rokem +4

      I really like the art on your channel

    • @simonmultiverse6349
      @simonmultiverse6349 Před rokem

      I really like the chart on your anal.

    • @joshyoung1440
      @joshyoung1440 Před 5 měsíci +1

      I mean your joke kind of defeats itself a tad at the end when you point out that the internet is known to be full of much, MUCH more information much more useless than this, so it begs the question why the joke would apply to this video in particular

  • @wallyhall
    @wallyhall Před rokem +90

    "It was like a triangle that was in a hurry" - absolutely killed me. Coffee spat out everywhere. Thanks Matt.

  • @himynameisdavenicetomeetyou

    Inigo, if you're reading this, I miss your paint by maths videos they were spectacular. Thanks for the content and for shadertoy :)

    • @beskamir5977
      @beskamir5977 Před rokem +3

      Agreed. Inigo is an absolute genius especially with how he breaks everything down in his explanation videos.

    • @himynameisdavenicetomeetyou
      @himynameisdavenicetomeetyou Před rokem +3

      @Beskamir it's the fact that everything is essentially explained from first principles that does it for me. That and the results are visually spectacular.

  • @arirahikkala
    @arirahikkala Před rokem +52

    Shadertoy is so much fun. You go through your life barely using any trigonometry, then you draw even the tiniest shader effect, and oh god so much trig, suddenly everything is trig.
    It's especially mind-bending as a programmer, because you're so used to the idea of having explicit objects that you render, and it's a complete shift in perspective to fake the existence of objects with just a function from time and screen position to pixel colour.

    • @twinkyoctopus
      @twinkyoctopus Před rokem +6

      trig is like the algebra of higher maths, it apears everywhere

    • @__8120
      @__8120 Před rokem +1

      Yeah but unfortunately the idea of rendering objects implicitly to the screen pixel by pixel doesn't seem to really be a thing outside of shadertoy. Fragment shaders like the one you get there are generally used to apply final effects to an individual face pixel by pixel, rather than the entire screen. It's a great playground for sure, but you do typically have real explicit objects to render

    • @MichaelPohoreski
      @MichaelPohoreski Před rokem +2

      _Rendering Worlds with Two Triangles_ is a good introduction for non-graphic programmers, along with my _HOWTO: Ray Marching_ which has tons of examples to play with.

    • @NitzanBueno
      @NitzanBueno Před rokem

      ​@@__8120 Rendering with fragment shaders (and raymarching) really isn't very popular, but it allows rendering complex shapes using only equations that describe them, which can be very short. That's why it's extensively used in the demoscene, specifically for 4KB/1KB intros.
      I'd say that is indeed its most prevalent place, however - it's mainly a thing for artsy programmers and not really used in the graphics world, but I still love it 🥰

    • @__8120
      @__8120 Před rokem

      @@NitzanBueno oh absolutely

  • @killhour
    @killhour Před rokem +71

    I've been working with HLSL to make arbitrary real time SDF combinations for the last month or so and Inigo's writings on the topic have been invaluable. I recognized the thumbnail immediately. Was quite surprised to see it here.
    SDFs are definitely worth an entire video.

    • @snurffff
      @snurffff Před rokem +1

      Recognized it too!!

    • @leif1075
      @leif1075 Před rokem +1

      Am I the only one who doesn't know what anyone those abbreviations mean? hlsl ? Sdf? How does anyone know those?

    • @himynameisdavenicetomeetyou
      @himynameisdavenicetomeetyou Před rokem +7

      @Leif for folks who do programmatic graphics or video game work, they're somewhat common-speak. For everybody else, they're nonsense.
      HLSL = High-Level Shader Language
      SDF = Signed Distance Field
      To learn about the former, you can read online in tutorials anywhere. For Unreal Engine or Unity, you'd be writing shaders in HLSL, so there are plenty of tutorials on the topic. For learning about SDFs, I'd go straight to Inigo's channel and watch some of his wonderful videos.

  • @amyshaw893
    @amyshaw893 Před rokem +54

    inigo has their own youtube channel hwere they explain a lot of their code. it really helped me when i was in uni and i was doing some work on 4d shape rendering using raymarching, and he works from first principles which is amazing

  • @Hermaniac8
    @Hermaniac8 Před rokem +17

    Inigo Quilez's SDF videos are so good. Masterpieces in educational content

  • @christianzander6547
    @christianzander6547 Před rokem +30

    Good luck with the cinematic universe. But I am holding out for 'Triangle Hard with a Vengeance' caus I love a New York settings for my math thrillers. Can't wait for the scene where you walk through the Financial District with a sandwich board describing a controversial conjecture about triangles infuriating the local population.

  • @griffinblades8475
    @griffinblades8475 Před rokem +34

    I love these community contribution videos!

  • @lillithplays6514
    @lillithplays6514 Před rokem +50

    The sign function shouldn't be a problem. You can represent it as x/abs(x) for any nonzero x. The absolute value can also be the positive solution to sqrt(x^2)

    • @anomaliecosmos
      @anomaliecosmos Před rokem +5

      Does the sqrt(x^2) version technically leave some extra values in the imaginary/complex plane? Best case it ends up a second triangle, but that might count as similar to the one with the extra origin dot or the rays out the corners. (Didn't think of x/abs(x) though, clever!)

    • @friedrichhayek4862
      @friedrichhayek4862 Před rokem +4

      @@anomaliecosmos The circle equation is the same.

    • @the1exnay
      @the1exnay Před rokem +11

      The sign function being undefined at 0 feels very appropriate.

    • @ollllj
      @ollllj Před rokem +1

      @@anomaliecosmos yes, this fails for nonzero imaginary values, but these do not occur here. shortcuts are important.

    • @ollllj
      @ollllj Před rokem

      @@the1exnay negative zero is fun, but not useful, so positive nulls are asserted.
      MUCH worse is that the first derivative of abs() is discontinuous, any 3d shapes with "abs" will always have a shiny-kin/corner at their 1st derivative discontinuity, and that always looks "to oartificial" , unless you enforce "smooth abs" (seach "sabs" on shadertoy)

  • @djcsdy2
    @djcsdy2 Před 6 měsíci +1

    I was super excited when Inigo Quilez popped up! Glad you took the time to talk a bit about shadertoy.

  • @DingbatToast
    @DingbatToast Před rokem +15

    I don't know how you continue to take one of my most hated subjects at school and make some of the most enjoyable and entertaining content on CZcams.
    Thanks for making me want to learn more about maths

    • @theoriginaltubeofyous
      @theoriginaltubeofyous Před rokem +2

      you probably didn't hate maths in school because of maths, you probably hated it because of school.

    • @DingbatToast
      @DingbatToast Před rokem

      @@theoriginaltubeofyous true, i hated it because of my maths teacher

  • @heighRick
    @heighRick Před rokem +2

    Thanks Matt, I was not expecting such an excellent and informative video about triangles on a Wednesday, helps a lot!

  • @macronencer
    @macronencer Před rokem +3

    This was a LOT of fun! My favourite was the affine transformation with the homogeneous co-ordinate matrices. That approach occurred to me immediately as soon as you showed the base triangle for it, because when I was young I spent a lot of time studying computer graphics techniques. Homogeneous co-ordinates are very useful.

  • @vittorio1159
    @vittorio1159 Před rokem +5

    15:30
    You can just multiply by (1+sqrt(r^2-(x-h)^2-(y-k)^2))
    removing that annoying denominator and this way including the vertices of the triangle.

  • @Pogonateur
    @Pogonateur Před rokem

    Your video editing is always so amazing, i really need to say it, it's such a pleasure to not only have interesting videos about maths but also so well edited like yours. Thank you so much for your work!

  • @soffeebeans
    @soffeebeans Před rokem

    I just wanted to compliment the way you displayed and referred to the desmos equations. It felt really very natural and was a lot more engaging than a box off to the side!

  • @MateusAntonioBittencourt

    Wow... just re-watched yesterday your original video. Now today there's a part two.

  • @kylerichardson514
    @kylerichardson514 Před rokem +5

    This episode was fascinating to me. I'm in the FEA world working on a smooth potential to describe contact. A very closely related problem. The code at the very end looked like it was possibly based on the old algorithms in FEA with all sorts of problems and issues. Mainly they are only C^0 continuous. Using Non-Newtonian calculus it is possible to build smooth potentials that can describe any arbitrary shape.

  • @cmilkau
    @cmilkau Před rokem +4

    The easiest way to make a triangle I think is to use max or min (works for all convex polytopes). Basically just take the max or the min of a bunch of affine-linear functions on the plane and you can get a polygonal-base cone (a generalized pyramid) as a graph of that max/min. Now pick another affine-linear function, could be as simple as just 0, and equate the two. The intersection of the two graphs typically is the border of a convex polygon (and it still is when projected back down onto the domain).
    Example: min { |m₁x - y + b₁|, |m₂x - y + b₂|, |m₃x - y + b₃| } = 0 in the notation of the video. You can choose an appropriate sign for each of the absolute values depending on the m's and b's.
    Note: max {x, y} = (x + |x - y| + y)/2 and min {x, y} = (x - |x - y| + y)/2, for the guys who don't want special functions.
    Note: You can also get weird unbounded "polytopes" in general. This is analogous to how cone intersections may not just give you ellipses but also hyperbolas or even parabolas.

  • @cragnog
    @cragnog Před rokem +25

    "As a approaches infinity this will approach a triangle" was a way funnier line than one would expect

    • @ollllj
      @ollllj Před rokem

      this is a VERY overused phrase in 8th to 13rth grade maths, usually not with triangles.
      But i guess they stopped teaching that maths after the 90s.

  • @Jetpans
    @Jetpans Před rokem +4

    The 11:15 solution is just so beautiful. Using such simple concepts and yet getting such a magnificent result.

  • @teamruddy611
    @teamruddy611 Před 11 měsíci +3

    8:00 I've seen prime computing equations (totally exist, but very long) smaller than that.
    Also I have a triangle myself but I can't post it here - it starts as a Isosceles Triangle and you can drag around the corners - it is made by drawing a line from each point to every other point.

  • @unvergebeneid
    @unvergebeneid Před rokem +9

    Seeing those shapes that are not made up of triangles on Shadertoy was actually a thing of beauty. Maybe one day games will have actual curves being rendered on our GPUs.

  • @alanmiller7875
    @alanmiller7875 Před rokem +3

    First off... it's "Triangle 2: Electric Boogaloo." Secondly, I love that you started with triangles that were Parker Squares.

  • @DerToasti
    @DerToasti Před rokem +2

    well, the one at 16:50 is the perfect one. very nice, straightforward and i assume it generalizes to any polygon. at 15:00 it shouldn't be too hard though to find a function that works at the ends too, like 1+sqrt(1-abs(x-1)-abs(x)) for example.

  • @johnchessant3012
    @johnchessant3012 Před rokem +27

    The circumcircle method was clever! The fact that it misses just the three vertices is extremely funny to me haha

    • @kazedcat
      @kazedcat Před rokem +5

      There must be a way to add back those 3 missing vertices

    • @hughobyrne2588
      @hughobyrne2588 Před rokem +5

      @@kazedcat If we take the 'sqrt' function as one that strictly works within the real numbers, i.e. it gives the result 'undefined' for less than zero, zero for zero, and a nonzero positive value for a nonzero positive value, then this trick can be used quite easily - instead of excluding the region outside a circle, excluding a region outside the triangle, as defined by the half-planes indicated by the sides of the triangle.
      Get nine values a1 b1 c1 a2 b2 c2 a3 b3 c3 such that aix+biy+ci=0 is an equation for line number 'i' of the triangle, and aix+biy+ci>0 is the half-plane that includes the triangle. Then, the equation sqrt(a1x+b1y+c1)*sqrt(a2x+b2y+c2)*sqrt(a3x+b3y+c3)=0, where the expression is evaluated at all stages in the reals, will give exactly the triangle. The square-roots ensure the expression does not give a value for any point outside the triangle (as long as you're not using complex-number-clever square roots), so if the point is on any line, and the product is defined, the product is zero, and if it's off every line, the product is nonzero.

  • @aleksitjvladica.
    @aleksitjvladica. Před 8 měsíci

    By far the best video I watched recently, I had a blast, I had a lot of fun! Although I knew most of this. Thank you my mate! I love you!

  • @ethanolcott3960
    @ethanolcott3960 Před rokem +2

    There's a nice clean way to represent triangles in Desmos, just define a function
    l(A,B,t)=A+(B-A)t
    and then call
    [l(P,Q,t),l(P,R,t),l(Q,R,t)]
    where P, Q, and R are all called as points.

  • @mananagrawal6855
    @mananagrawal6855 Před rokem

    The circumcircle solution is so nice. Love the creativity.

  • @sighmon5640
    @sighmon5640 Před rokem +4

    That first equation reminds me of the "trick" where rearranges some pieces in a triangle and seems to create an extra square of area in the process, but the resultant is just a quadrilateral that looks very close to a triangle

    • @Jivvi
      @Jivvi Před 11 měsíci

      The original "triangle" is also a quadrilateral. The seemingly straight edge has an angle that is less than 180° by exactly as much as the angle in the final one is more than 180°.

  • @gasparliboreiro4572
    @gasparliboreiro4572 Před rokem +1

    5:30 love the last words and transition

  • @monstronamaguederaz
    @monstronamaguederaz Před rokem +6

    5:27 That's what I'd call a mathematically love triangle

  • @cannot-handle-handles

    Thanks for providing captions/subtitles!

  • @cristhiangrundmann1226
    @cristhiangrundmann1226 Před rokem +1

    You can make an equation for a line segment easily: dist(a,p) + dist(p, b) - dist(a,b) = 0. You can then multiply a bunch of segment equations together to make the union of them.

  • @sp0_od597
    @sp0_od597 Před 10 měsíci +1

    At 2:57, I believe that skewing and stretching the triangle can get you all triangles albeit, rotated and translated in the xy plane, so to fix this you could transform x and y into a new coordinate space x' y' and get all triangles that way.
    Basically I am stating that by stretching and skewing the triangle, you can generate any combination of internal angles of the triangle.
    Then by change of coordinate space, you can scale, translate, and rotate the triangle to wherever you want in the new coordinate space.

  • @Awokenify
    @Awokenify Před rokem +4

    In this video: Matt is excited because he learned a new video editing trick.

  • @literallyjustayoutubecomme1591

    I remember stumbling upon inigo’s channel some months ago, some really cool stuff

  • @ecospider5
    @ecospider5 Před rokem +1

    Conversations for Math aficionados. Truly fantastic.

  • @Zero-4793
    @Zero-4793 Před rokem +1

    that n sided shape equation is insane. feel like we need a video just on it

  • @thebrickcraft
    @thebrickcraft Před rokem +3

    It's not defined for zero but x/abs(x) will give you a one with the sign of x. And since abs can be done by using sqrt(x^2) using sign isn't a bad way.

  • @EMAngel2718
    @EMAngel2718 Před rokem +3

    I think that if you're going to be fine with the absolute value function then you should be fine with the sign function because it's very easy to derive the sign function using the absolute value function

  • @morejpeg
    @morejpeg Před rokem +1

    Inigo is a legend. I used his triangle SDF to do 3D collision detection!

  • @__dane__
    @__dane__ Před rokem +27

    I would recognize that SDF shadertoy from anywhere. It’s not a video mentioning SDFs without Inigo Quilez

    • @Zolbat
      @Zolbat Před rokem +10

      Inigo is an absolute legend

    • @__dane__
      @__dane__ Před rokem

      @@Zolbat Inigo, Keijiro, Ben Golus and more

  • @cthutu
    @cthutu Před rokem

    Signed distance fields are used for ray intersections and font rendering. Great area of maths.

  • @wikingagresor
    @wikingagresor Před rokem +3

    I'm not a specialist or anything, but for me the simplest way to define a triangle is to have 2 vectors and a 3rd vector that is a product of their vector multiplication.

  • @jeremybuchanan4759
    @jeremybuchanan4759 Před rokem +3

    Gen Eric is so much more easy-going than any of the other Gen's ... well done Gen Eric

  • @FlamingBehar
    @FlamingBehar Před rokem

    I literally just re-watched that triangle video today, how serendipitous 😁

  • @williampatrick8814
    @williampatrick8814 Před 10 měsíci

    The circle capture function is the most elegant attempt so far.

  • @RandyKing314
    @RandyKing314 Před rokem

    i really like that see-through Desmos!

  • @aikumaDK
    @aikumaDK Před rokem +20

    1:26 subtitles says 'James Street' instead of Jane Street
    7:35 Subtitles says 'octan' instead of arctan
    12:10 Subtitles says 'F9' instead of (presumable) affine
    13:38 'Goebel' instead of Goble
    19:56 'gene street'

    • @abigailcooling6604
      @abigailcooling6604 Před rokem +8

      0:38 subtitles says 'sine function' instead of sign function.

    • @kindlin
      @kindlin Před rokem +4

      I'm pretty sure they're just autogenerated, so if that's the worst they did a good job.

    • @asheep7797
      @asheep7797 Před rokem +1

      also 1:26
      subtitles say "James tree" instead of Jane Street

    • @simonmultiverse6349
      @simonmultiverse6349 Před rokem

      It also says "K9" instead of "canine"

    • @Jivvi
      @Jivvi Před 11 měsíci

      10:53 "okay good" instead of "so good".

  • @AmPlant
    @AmPlant Před rokem

    Triangle is my favorite shape! I'm so glad the sequel finally dropped :D

  • @ktbbb5
    @ktbbb5 Před rokem +3

    Thumbnail looks like it is from Indigo Quilez's video. I'm already excited!

  • @edwardhoppe4294
    @edwardhoppe4294 Před rokem

    Parametric equation of a triangle: p = p0 + r(p1 - p0) + s(p2 - p0), where pn are the 3 vertices, and r, s are scalars. The point p lies within the triangle for 0

  • @psychoDon525
    @psychoDon525 Před rokem +1

    "You're missing something infinitely small, which some would say, 'Does that really count?' I think it does." Seems like a bit of a change of heart on the significance of infinitesimals from Mr. Matt Parker.

  • @devjock
    @devjock Před rokem +3

    Today, Matt finds out demosceners have cracked a lot of the math behind aesthetic things, that demosceners are lazy AND efficient enough to make toolchains to go from sliced bread to sliced bread with the whole universe in between, that demosceners eat sleep code repeat, and we're all happily nerding out together.
    Matt, next year, visit any demoparty. You will be amazed by the things sceners showcase. Most of the time on a very limited codesize budget, to add to the challenge.

  • @taranmellacheruvu2504
    @taranmellacheruvu2504 Před rokem +2

    7:59 This here could definitely use some simplification. Unfortunately, you’d probably have to be a bit clever about it. Its various components look very similar to the steps taken when deriving the general area formula for regular n-gons. For that one, you need to cleverly mess around with some sin^2 s and turn them into a cot. For this one, I haven’t started yet.

  • @friiq0
    @friiq0 Před rokem +2

    This is the earliest I’ve ever caught a video 😄

  • @EthanBradley1231
    @EthanBradley1231 Před rokem

    I noticed that with the almost-triangle equation featured around 5:00, there are certain non-integer values of *a* for which it is *extremely* not a triangle. At *a* = 12.5, for example, the almost-vertical almost-line at x = -1 turns into two (almost) lines shooting out from (-1, 2) and (-1, -2).

  • @curiousfirely
    @curiousfirely Před rokem

    I'm just over here, being amazed at the overlay of the graphs on top of your face.

  • @philipmurphy2
    @philipmurphy2 Před rokem +2

    Great maths content on CZcams today for sure.

  • @spacebarium
    @spacebarium Před rokem +7

    The triangle lore deepens

  • @vick229
    @vick229 Před rokem +13

    All Parker tri angles in one place.. love it 🤣

  • @mgpalpha
    @mgpalpha Před rokem

    As soon as I saw the thumbnail I knew the video would end in Inigo Quiles. Absolutely insane shader artist

  • @jmi967
    @jmi967 Před rokem +1

    Concerning Graham Goble's entry, would either of the following put the vertices back?
    (1) Use his triangle equation as bounds on the same circle and then combine the two results. Essentially using his almost triangle to do what he did from the other side
    (2) Do what he did but use calculus to infinitesimally increase the radius of the circle to include the vertices

  • @PretzelBS
    @PretzelBS Před rokem

    Today I bought both your books cause I’m in the uk for a family wedding! You’re my favourite educational CZcams channel!

  • @Beokabatuka
    @Beokabatuka Před rokem +1

    There's something so pure about the joy of math(s) nerds trying to solve somewhat meaningless yet captivating problems. I love it.

  • @randomname9291
    @randomname9291 Před rokem

    1:50 you can actually make a square parallel/perpendicular to the axes like so: abs(x+y) + abs(x-y) = n where n is the square’s side length

  • @micksam7
    @micksam7 Před rokem

    IQ is a legend in the shader coding and demoscene communities. Props for showing off his work!

  • @Michael-Hammerschmidt
    @Michael-Hammerschmidt Před rokem +2

    I was NOT read for the Matt Parker jumpscare in the new Captain Disillusion video. Very spooky

  • @Sebal007
    @Sebal007 Před rokem

    18:03
    Those, and what follows on the shadertoy example, are called signed distance fields. Pretty usefull for some stuff :)

  • @TheSmegPod
    @TheSmegPod Před rokem +4

    Curious to know what those n-gon equations give you for non-integer values
    What does a shape with pi or sqrt(2) or i sides look like

  • @LyuboRyuk
    @LyuboRyuk Před rokem

    The funniest video from you last several years

  • @besusbb
    @besusbb Před rokem +1

    Nice video! I really should've expected iq and shadertoy to be in a video when there's the triangle sdf in the thumbnail haha

  • @bilalbaig8586
    @bilalbaig8586 Před rokem +7

    Looks like we improved on the Parker triangle.

  • @haph2087
    @haph2087 Před rokem +3

    Can one just take any equation for an arbitrary (non-colinear) triangle, and turn that into an equation for any other triangle, by changing your basis?
    (Any function that applies a transformation to the X-Y plane also works as a transformation to all functions on the X-Y plane).

  • @quillaja
    @quillaja Před 8 měsíci

    From the very start of this video, I just knew Inigo Quilez would have the best, simplest, most precise answer (even if he hadn't submitted one). The one with the circle "cropping" the triangle was also good.

  • @stevenchristy6156
    @stevenchristy6156 Před rokem

    The sign function is legit. I use it sometimes in my own programming as its very cheap to obtain the high bit of a float or double.

  • @ollllj
    @ollllj Před rokem +1

    16:00 OOH YES it matters VERY much if your interval (for line-segments) is a closed-interval, open-interval or half-open-interval.
    I saw countless shadertoy-shaders that pondered about interval-error-cases, significantly losing out on precision or even losing out on performance.
    intervals become VERY tricky close to undefined/asymptotes, and you generally want to "rather have this area undefined (or replaced by a simpler non-asymptotic smoothing-function) than having it at a too low precision, too close to an asymptote" boundary near asymptotes. And that boundary better be a half-open-interval.
    a smoothing--function ideally is continuous, and for that you want an open-interval, but you to not want to use the slower function for the same point+solution, where 2 functions met, and then you better pick the right intervals where 2 functions switch.

  • @Epinardscaramel
    @Epinardscaramel Před rokem +2

    10:43 « l'équation zombie » 🤣

  • @keeperofthegood
    @keeperofthegood Před rokem

    :) Fun video. Very enjoyed

  • @johncage5368
    @johncage5368 Před rokem +1

    I liked that safety triangle with the rounded corners. ;)

  • @vertxxyz
    @vertxxyz Před rokem

    Anybody who's even dabbled in graphics programming should recognise the thumbnail immediately. Inigo's resources have saved/enabled all our asses continually

  • @DendrummerMC
    @DendrummerMC Před rokem +2

    Regarding the second solution aka the anonymous one. Wouldn't a quick workaround to make that "disc"-triangle into a "circle"-triangle be to put it into a modulo?

  • @claritas6557
    @claritas6557 Před rokem +1

    I'd never noticed how fuzzy Matts ears are.
    But it makes sense. As a number ninja he can't wear ear muffs, since that would dampen the sound of any assassin integrals sneaking up on him, so he uses a natural alternative.

  • @davidanoble
    @davidanoble Před rokem +3

    I found an easier solution. Use a variation on polar coordinates where θ is the angle but r is the distance from the desired triangle. Then every triangle is just 'r = 0' but with a different coordinate system 🙃

  • @Ethan-sc7gq
    @Ethan-sc7gq Před rokem +7

    Instead of the sign function, it could use |cos(pi t) - 1| /2 . That outputs 1 for odd values and ) for even, just switch the - to a + to reverse it. Multiply the individual multipliers by this to use or negate them. I made it up while making a Collatz Conjecture Desmos graph :) .

    • @karibui494
      @karibui494 Před rokem +1

      I got it without trig functions with: sign(x) = -2mod(x, |x|+1)+|x|+1+x, this gives 1 for x>=0 and -1 for x

    • @satindra.r
      @satindra.r Před rokem

      ​​@@karibui494 ideally you would want to get 0 for x=0 but i think its possible to convert this into something we can define floor as x-((cot^-1(cot(πx)))/π) and then use floor(tanh(x))-floor(tanh(-x)) to get sign(x)

    • @angeldude101
      @angeldude101 Před rokem

      sign(x) is actually exactly the same as normalization for vectors, which is usually written as v/|v|. This works for real numbers as well though doesn't include 0. Absolute value can be found the same way as other things as well with sqrt(x²). (Technically sqrt(x*conj(x)), but the conjugate of a real number is itself.)

    • @karibui494
      @karibui494 Před rokem

      @@satindra.r setting sign(0) = 0, wouldn't remove the edges in this case?

    • @karibui494
      @karibui494 Před rokem

      @@satindra.r I played around and found: mod(-x, |x|+1)+(x-|x|)/2 this is 1 for x > 0 and 0 for x

  • @hansdietrich83
    @hansdietrich83 Před rokem +1

    Shader code is like a different universe of code, it's so much fun.

  • @johnathanhelton
    @johnathanhelton Před rokem +2

    "every triangle is a love triangle. If you love triangles" - Pythagoras, probably

  • @frankharr9466
    @frankharr9466 Před rokem

    Hey, that is exactly how I look and how I walk. It's amazing!

  • @Yupppi
    @Yupppi Před rokem

    Really cool and fun video. I think it deservers a Triangulogy.

  • @kappascopezz5122
    @kappascopezz5122 Před rokem +5

    15:43 On the vertices, the distance should be exactly r, so the argument of the square root should be 0, so the equation would still be defined and true on the vertices.
    Edit: nvm I missed the part where it cuts out the entire circle of radius r afterwards

    • @simonwillover4175
      @simonwillover4175 Před rokem

      But it is defined there. And the limit of the 0/0 term = 1, not undefined.

    • @cg505_
      @cg505_ Před rokem

      ​This confused me as well, didn't realize there was a ^1/4 in the denominator.
      ​@@simonwillover4175 Usually 0/0 is taken to be undefined, not 1 or any other value. Even the limit of x/x as x goes to 0 is undefined. But we aren't taking a limit here, so I don't think it's relevant.

    • @kappascopezz5122
      @kappascopezz5122 Před rokem

      @@simonwillover4175 it's okay to be wrong about 0/0 but please don't say it as if correcting someone