Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Math Problem ...

Math Problem ...

Scheduled Pinned Locked Moved The Lounge
helpquestioncsharp
61 Posts 15 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Ed Poore

    Ok, a reference image is provided @ http://ed.poore.googlepages.com/question.bmp[^] Basically: Let A=(a,b) Let B=(c,d) Let P=(x,y) (the point where you want to find) |AB| = √((c - a)²+(d - b)²)

    θ = arctan((d - b) / (c - a))

    x = a + (0.2*|AB|*cos(θ)) y = b + (0.2*|AB|*sin(θ))

    Some basic trig and pythagoras, you can do this by vectors, but it essentially boils down to the same thing if I remember correctly (better remember correctly since I might need it for my exam on Friday).


    Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

    P Offline
    P Offline
    Paul Conrad
    wrote on last edited by
    #22

    You get a division by zero if you are dealing with vertical lines.

    E 1 Reply Last reply
    0
    • J Jun Du

      This is a perfect example that how people make things more complicated than they should be:omg: This is how it works:

      x = a + (0.2*|AB|*cos(θ))) = a + 0.2*(c-a);
      y = b + (0.2*|AB|*sin(θ))) = b + 0.2*(d-b);

      BTW, I like your "θ". How come It shows "θ" in my editing panel, but not in the post? ...maybe because of my Linux (I'm using RedHat 8 at work). Signature for today: "Don't discuss math problems with a methematician."

      P Offline
      P Offline
      Paul Conrad
      wrote on last edited by
      #23

      Though both are correct, I'd go with the simpler way since there is no worries in regards to division by zero. PJC

      E 1 Reply Last reply
      0
      • P Paul Conrad

        You get a division by zero if you are dealing with vertical lines.

        E Offline
        E Offline
        Ed Poore
        wrote on last edited by
        #24

        Paul Conrad wrote:

        You get a division by zero if you are dealing with vertical lines.

        You get division by zero if you deal with horizontal lines.  Since tanθ = opposite / adjacent (i.e. vertical over horizontal).  But it's only a couple of ifs to sort this out.  To be honest I'm suprised that so many people seem to be accepting the incorrect versions here.  All you need to know is Pythagoras (a²+o² = h²) to prove that the simpler formulae they've come up with are nonsense.


        Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

        Last modified: 13 June 2006 15:56:59 --

        P 1 Reply Last reply
        0
        • J Jun Du

          This is a perfect example that how people make things more complicated than they should be:omg: This is how it works:

          x = a + (0.2*|AB|*cos(θ))) = a + 0.2*(c-a);
          y = b + (0.2*|AB|*sin(θ))) = b + 0.2*(d-b);

          BTW, I like your "θ". How come It shows "θ" in my editing panel, but not in the post? ...maybe because of my Linux (I'm using RedHat 8 at work). Signature for today: "Don't discuss math problems with a methematician."

          E Offline
          E Offline
          Ed Poore
          wrote on last edited by
          #25

          Jun Du wrote:

          This is a perfect example that how people make things more complicated than they should be

          Maybe it's more complicated but it works. Here's the proof using simple Pythagorean trig and his theorem.

          Start with a 3,4,5 triangle with height 3 and width 4 (and hypotenuse 5).
          If A is the bottom left-corner, located over an "origin" of (0,0) then it follows that
              A = (0,0) (bottom-left corner)
              B = (4,3) (top-right corner)
              C = (4,0) (bottom-right corner)
              θ = Angle BAC (i.e. bottom-left)
          Also it can be shown (through Pythagorean Trigonometry) that:
              sin(θ)=3/5
              cos(θ)=4/5
              tan(θ)=3/4

          So you require 20% of the line AB (in this case it is (0.2*5) = 1).
          We can let the co-ordinates of the end point of this line (from A along AB for 20% of AB) be X=(x,y).
          It then follows that since we have a hypotenuse equal to 1 and the angle has remained the same that:

          x = 1*cos(θ) = 4/5
              y = 1*sin(θ) = 3/5

          So from A the new point X which is 20% of the line AB is A+X, i.e: X = (0 + 4/5, 0 + 3/5) = (4/5, 3/5).

          If you take you're equations of:
              x = a + 0.2 * (c - a)
              y = b + 0.2 * (d - b)
          You will get the following answers for this case:
              x = 0 + 0.2 * (4 - 0) = 0.2 * 2 = 2/5
              y = 0 + 0.2 * (3 - 0) = 0.2 * 3 = 9/10
          Which is not the same as the ones above.

          The simplest proof that the previous equations are wrong can be shown quite simply by Pythagoras' Theorem.
          If we assume that the triangle formed is of height and width 1 then, your equations show that the height and width of the "new" triangle which provides 20% of AB are both 0.2.
          If you use Pythagoras on these you get a hypotenuse of √(0.2²+0.2²) which gives √0.08 which is ~0.2828, not 0.2 as you require.


          Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

          C J 2 Replies Last reply
          0
          • E Ed Poore

            Paul Conrad wrote:

            You get a division by zero if you are dealing with vertical lines.

            You get division by zero if you deal with horizontal lines.  Since tanθ = opposite / adjacent (i.e. vertical over horizontal).  But it's only a couple of ifs to sort this out.  To be honest I'm suprised that so many people seem to be accepting the incorrect versions here.  All you need to know is Pythagoras (a²+o² = h²) to prove that the simpler formulae they've come up with are nonsense.


            Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

            Last modified: 13 June 2006 15:56:59 --

            P Offline
            P Offline
            Paul Conrad
            wrote on last edited by
            #26

            Ed.Poore wrote:

            You get division by zero if you deal with horizontal lines. Let A=(a,b) Let B=(c,d) Let P=(x,y) (the point where you want to find) |AB| = √((c - a)²+(d - b)² θ = arctan((d - b) / (c - a))

            Check your one post because when c-a = 0, the line is vertical :) -- modified at 17:02 Tuesday 13th June, 2006

            E 1 Reply Last reply
            0
            • P Paul Conrad

              Ed.Poore wrote:

              You get division by zero if you deal with horizontal lines. Let A=(a,b) Let B=(c,d) Let P=(x,y) (the point where you want to find) |AB| = √((c - a)²+(d - b)² θ = arctan((d - b) / (c - a))

              Check your one post because when c-a = 0, the line is vertical :) -- modified at 17:02 Tuesday 13th June, 2006

              E Offline
              E Offline
              Ed Poore
              wrote on last edited by
              #27

              Oops, maybe your right, did things in a bit of rush because I've got annoyed that people can't see that the "complex" formula is the correct one, you can't get any simpler. Anyway I'm not going to argue just yet, I'm off to have some supper, I'll come back later and see if people have finally accepted it.


              Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

              P 1 Reply Last reply
              0
              • P Paul Conrad

                Though both are correct, I'd go with the simpler way since there is no worries in regards to division by zero. PJC

                E Offline
                E Offline
                Ed Poore
                wrote on last edited by
                #28

                How can both be correct, I've just posted the proof that they aren't.


                Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                1 Reply Last reply
                0
                • E Ed Poore

                  Oops, maybe your right, did things in a bit of rush because I've got annoyed that people can't see that the "complex" formula is the correct one, you can't get any simpler. Anyway I'm not going to argue just yet, I'm off to have some supper, I'll come back later and see if people have finally accepted it.


                  Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                  P Offline
                  P Offline
                  Paul Conrad
                  wrote on last edited by
                  #29

                  Ed.Poore wrote:

                  the "complex" formula is the correct one

                  The solution by Jun Du is also correct. Tried both your solution and his for several different points and I get the same answers from both. Consider if this problem was being programmed on some weird machine where no square root functions or trig functions were available via hardware, then Jun Du's solution would be best.

                  E 1 Reply Last reply
                  0
                  • J Jun Du

                    This is a perfect example that how people make things more complicated than they should be:omg: This is how it works:

                    x = a + (0.2*|AB|*cos(θ))) = a + 0.2*(c-a);
                    y = b + (0.2*|AB|*sin(θ))) = b + 0.2*(d-b);

                    BTW, I like your "θ". How come It shows "θ" in my editing panel, but not in the post? ...maybe because of my Linux (I'm using RedHat 8 at work). Signature for today: "Don't discuss math problems with a methematician."

                    E Offline
                    E Offline
                    Ed Poore
                    wrote on last edited by
                    #30

                    Jun Du wrote:

                    Signature for today: "Don't discuss math problems with a methematician."

                    Who's a methematician?


                    Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog

                    1 Reply Last reply
                    0
                    • E Ed Poore

                      Jun Du wrote:

                      This is a perfect example that how people make things more complicated than they should be

                      Maybe it's more complicated but it works. Here's the proof using simple Pythagorean trig and his theorem.

                      Start with a 3,4,5 triangle with height 3 and width 4 (and hypotenuse 5).
                      If A is the bottom left-corner, located over an "origin" of (0,0) then it follows that
                          A = (0,0) (bottom-left corner)
                          B = (4,3) (top-right corner)
                          C = (4,0) (bottom-right corner)
                          θ = Angle BAC (i.e. bottom-left)
                      Also it can be shown (through Pythagorean Trigonometry) that:
                          sin(θ)=3/5
                          cos(θ)=4/5
                          tan(θ)=3/4

                      So you require 20% of the line AB (in this case it is (0.2*5) = 1).
                      We can let the co-ordinates of the end point of this line (from A along AB for 20% of AB) be X=(x,y).
                      It then follows that since we have a hypotenuse equal to 1 and the angle has remained the same that:

                      x = 1*cos(θ) = 4/5
                          y = 1*sin(θ) = 3/5

                      So from A the new point X which is 20% of the line AB is A+X, i.e: X = (0 + 4/5, 0 + 3/5) = (4/5, 3/5).

                      If you take you're equations of:
                          x = a + 0.2 * (c - a)
                          y = b + 0.2 * (d - b)
                      You will get the following answers for this case:
                          x = 0 + 0.2 * (4 - 0) = 0.2 * 2 = 2/5
                          y = 0 + 0.2 * (3 - 0) = 0.2 * 3 = 9/10
                      Which is not the same as the ones above.

                      The simplest proof that the previous equations are wrong can be shown quite simply by Pythagoras' Theorem.
                      If we assume that the triangle formed is of height and width 1 then, your equations show that the height and width of the "new" triangle which provides 20% of AB are both 0.2.
                      If you use Pythagoras on these you get a hypotenuse of √(0.2²+0.2²) which gives √0.08 which is ~0.2828, not 0.2 as you require.


                      Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                      C Offline
                      C Offline
                      Chris Losinger
                      wrote on last edited by
                      #31

                      Ed.Poore wrote:

                      x = 0 + 0.2 * (4 - 0) = ... = 2/5

                      .2 * 4 = .8

                      Ed.Poore wrote:

                      y = 0 + 0.2 * (3 - 0) = 0.2 * 3 = 9/10

                      .2 * 3 = .6 Cleek | Image Toolkits | Thumbnail maker

                      P 1 Reply Last reply
                      0
                      • C Chris Losinger

                        Ed.Poore wrote:

                        x = 0 + 0.2 * (4 - 0) = ... = 2/5

                        .2 * 4 = .8

                        Ed.Poore wrote:

                        y = 0 + 0.2 * (3 - 0) = 0.2 * 3 = 9/10

                        .2 * 3 = .6 Cleek | Image Toolkits | Thumbnail maker

                        P Offline
                        P Offline
                        Paul Conrad
                        wrote on last edited by
                        #32

                        Chris Losinger wrote:

                        .2 * 4 = .8

                        Chris Losinger wrote:

                        .2 * 3 = .6

                        Last time I checked, these are the correct answers.

                        C 1 Reply Last reply
                        0
                        • P Paul Conrad

                          Chris Losinger wrote:

                          .2 * 4 = .8

                          Chris Losinger wrote:

                          .2 * 3 = .6

                          Last time I checked, these are the correct answers.

                          C Offline
                          C Offline
                          Chris Losinger
                          wrote on last edited by
                          #33

                          yup. he was right up until the last little bit of arithmetic. Cleek | Image Toolkits | Thumbnail maker

                          E P 2 Replies Last reply
                          0
                          • P Paul Conrad

                            Ed.Poore wrote:

                            the "complex" formula is the correct one

                            The solution by Jun Du is also correct. Tried both your solution and his for several different points and I get the same answers from both. Consider if this problem was being programmed on some weird machine where no square root functions or trig functions were available via hardware, then Jun Du's solution would be best.

                            E Offline
                            E Offline
                            Ed Poore
                            wrote on last edited by
                            #34

                            Paul Conrad wrote:

                            The solution by Jun Du is also correct.

                            :wtf: How?  Can you provide some proof!


                            Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                            P 1 Reply Last reply
                            0
                            • E Ed Poore

                              Paul Conrad wrote:

                              The solution by Jun Du is also correct.

                              :wtf: How?  Can you provide some proof!


                              Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                              P Offline
                              P Offline
                              Paul Conrad
                              wrote on last edited by
                              #35

                              Can't you just accept the fact someone else came up with an easier solution than yours (and yours is correct, too)? You can't even get horizontal and vertical lines correct. Division by zero occurs when you have a vertical line. I knew this BEFORE you were even born. Mr. Losinger even pointed out math errors in your one post.

                              E 2 Replies Last reply
                              0
                              • P Paul Conrad

                                Can't you just accept the fact someone else came up with an easier solution than yours (and yours is correct, too)? You can't even get horizontal and vertical lines correct. Division by zero occurs when you have a vertical line. I knew this BEFORE you were even born. Mr. Losinger even pointed out math errors in your one post.

                                E Offline
                                E Offline
                                Ed Poore
                                wrote on last edited by
                                #36

                                If I've understood the post correctly he wants to get 20% of the line between the two points.  Agree? If so then how can you simply take 20% of the width of the "triangle" formed and "20%" of the height to get a hypotenuse that is 20% of the original triangle? If you use Pythagoras it'll show you that if you do that you'll actually get a hypotenuse that's ~28% of the original rather than 20%.


                                Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                                P 1 Reply Last reply
                                0
                                • P Paul Conrad

                                  Can't you just accept the fact someone else came up with an easier solution than yours (and yours is correct, too)? You can't even get horizontal and vertical lines correct. Division by zero occurs when you have a vertical line. I knew this BEFORE you were even born. Mr. Losinger even pointed out math errors in your one post.

                                  E Offline
                                  E Offline
                                  Ed Poore
                                  wrote on last edited by
                                  #37

                                  Oooooooooopppppppppppssssssssssssssss :doh::doh::doh::doh::doh: :-O:-O:-O:-O:-O Now I know I should go to bed, sorry I've completely ballsed this up havn't I, just got a pencil and paper out to work it out, forgot to substitute for cos and sin :doh: Combination of too much revision and a late night.


                                  Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                                  1 Reply Last reply
                                  0
                                  • R Ray Kinsella

                                    Hey Guys, I have a math issue, I know how you like brain teasers so I thought I would post it here, say I have two points ab & cd, how do I find the point 20% of distance between these two points on the same slope ? Regards Ray "Je Suis Mort De Rire" Blogging @ Keratoconus Watch

                                    D Offline
                                    D Offline
                                    Denevers
                                    wrote on last edited by
                                    #38

                                    man.. these guys like complicated solutions :) let's p be the proportion of the line (0.2) x = (a * (1-p)) + (c * p) y = (b * (1-p)) + (d * p) unless I blew it.. this should work with any lines. Denevers -- modified at 18:08 Tuesday 13th June, 2006

                                    1 Reply Last reply
                                    0
                                    • E Ed Poore

                                      If I've understood the post correctly he wants to get 20% of the line between the two points.  Agree? If so then how can you simply take 20% of the width of the "triangle" formed and "20%" of the height to get a hypotenuse that is 20% of the original triangle? If you use Pythagoras it'll show you that if you do that you'll actually get a hypotenuse that's ~28% of the original rather than 20%.


                                      Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                                      P Offline
                                      P Offline
                                      Paul Conrad
                                      wrote on last edited by
                                      #39

                                      Though it does not qualify as an actual mathematical proof, I've tested your approach and Jun Du's approach in Excel with 10-15 different values and I get the same results. Remember that: θ = arctan( y / x ) x = cos( θ ) y = sin( θ ) from Inverse Tangent[^] You wrote: θ = arctan((d - b) / (c - a)) x = a + (0.2*|AB|*cos(θ) y = b + (0.2*|AB|*sin(θ) and based on the link from MathWorld, (c-a) = cos( θ ) and (d-b) = sin( θ ) PJC

                                      E 1 Reply Last reply
                                      0
                                      • C Chris Losinger

                                        yup. he was right up until the last little bit of arithmetic. Cleek | Image Toolkits | Thumbnail maker

                                        E Offline
                                        E Offline
                                        Ed Poore
                                        wrote on last edited by
                                        #40

                                        Chris Losinger wrote:

                                        he was right up until the last little bit of arithmetic.

                                        Yep, I've now confirmed that I've been a complete and utter nincompoop, see http://www.codeproject.com/lounge.asp?msg=1530321#xx1530321xx[^] for my explanation and excuses.  I now realise I was barking up the wrong tree :doh:


                                        Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                                        1 Reply Last reply
                                        0
                                        • P Paul Conrad

                                          Though it does not qualify as an actual mathematical proof, I've tested your approach and Jun Du's approach in Excel with 10-15 different values and I get the same results. Remember that: θ = arctan( y / x ) x = cos( θ ) y = sin( θ ) from Inverse Tangent[^] You wrote: θ = arctan((d - b) / (c - a)) x = a + (0.2*|AB|*cos(θ) y = b + (0.2*|AB|*sin(θ) and based on the link from MathWorld, (c-a) = cos( θ ) and (d-b) = sin( θ ) PJC

                                          E Offline
                                          E Offline
                                          Ed Poore
                                          wrote on last edited by
                                          #41

                                          I just wrote it out on paper, basically if you substitute adjacent / hypotenuse in place of cos then the root will cancel out and you'll get what Jun Du gave.  I'm just too exhausted from 12 hours revision plus a 2 hour shooting walk with my father and the dog. I stand corrected and apologise if I was dogmatic :-O.


                                          Formula 1 - Short for "F1 Racing" - named after the standard "help" key in Windows, it's a sport where participants desperately search through software help files trying to find actual documentation. It's tedious and somewhat cruel, most matches ending in a draw as no participant is able to find anything helpful. - Shog9

                                          P C 3 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups