Math Is Fun Forum
  Discussion about math, puzzles, games and fun.   Useful symbols: √ ∞ ≠ ≤ ≥ ≈ ⇒ ∈ Δ θ ∴ ∑ ∫ π -

Login

Username

Password

Not registered yet?

  • Index
  •  » Help Me !
  •  » Really need to simplify some horridly complex ecpressions

Post a reply

Go back

Write your message and submit
:) :| :( :D :o ;) :/ :P :lol: :mad: :rolleyes: :cool: | :dizzy :eek :kiss :roflol :rolleyes :shame :down :up :touched :sleep :wave :swear :tongue :what :faint :dunno
Options

Go back

Topic review (newest first)

John E. Franklin
2005-12-22 10:33:15

This polygon area might be useful somehow on this project.
general area of polygon with points going around and returning at start point

krassi_holmz
2005-12-18 17:44:22

And for the WebMathematica timeout error:
Just the simplification in Mathematica is limited to 300 seconds

MathsIsFun
2005-12-18 08:03:11

It is an impressive formula, but I think you may still need to break it down into smaller formulas with decisions in between (ie, write a program to solve).

Why? Because you will end up dividing by zero when points intersect!

For example, look at "/ ((By-Ay)*(Ex-Dx)-(Bx-Ax)*(Ey-Dy))", which is at the end of the formula ... what happens when point A and B have the same position?

John E. Franklin
2005-12-18 06:50:09

Maybe you could have many smaller equations if you
broke them into categories of the polygons created??

krassi_holmz
2005-12-18 03:59:56

Here's my simplification

krassi_holmz
2005-12-18 03:12:11

I've simplifed mathisfun's equation, but very little.

sonyafterdark
2005-12-18 00:47:28

Yes, thank you. But can you help with simplification or at least testing? I can't even run this in OpenOffice Calc without getting that nasty overflow error. I can ramove the dots in WordPad easily. That's not such a great concern.

MathsIsFun
2005-12-17 23:01:38

Added some spaces around each "/", and removed the "."s, so it shows up better:

S.i=1 / 4*(Ax*(Cy-By+((Ax-Dx)*(By-Ay)*(Ey-Dy)+Dy*(By-Ay)*(Ex-Dx)-Ay*(Bx-Ax)*(Ey-Dy)) / ((By-Ay)*(Ex-Dx)-(Bx-Ax)*(Ey-Dy))-((Cx-Dx)*(Ay-Cy)*(Ey-Dy)+Dy*(Ay-Cy)*(Ex-Dx)-Cy*(Ax-Cx)*(Ey-Dy)) / ((Ay-Cy)*(Ex-Dx)-(Ax-Cx)*(Ey-Dy)))+Bx*(Ax-Cy+((Bx-Ex)*(Cy-By)*(Fy-Ey)+Ey*(Cy-By)*(Fx-Ex)-By*(Cx-Bx)*(Fy-Ey)) / ((Cy-By)*(Fx-Ex)-(Cx-Bx)*(Fy-Ey))-((Ax-Ex)*(By-Ay)*(Fy-Ey)+Ey*(By-Ay)*(Fx-Ex)-Ay*(Bx-Ax)*(Fy-Ey)) / ((By-Ay)*(Fx-Ex)-(Bx-Ax)*(Fy-Ey)))+Cx*(By-Ay+((Cx-Fx)*(Ay-Cy)*(Dy-Fy)+Fy*(Ay-Cy)*(Dx-Fx)-Cy*(Ax-Cx)*(Dy-Fy)) / ((Ay-Cy)*(Dx-Fx)-(Ax-Cx)*(Dy-Fy))-((Bx-Fx)*(Cy-By)*(Dy-Fy)+Fy*(Cy-By)*(Dx-Fx)-By*(Cx-Bx)*(Dy-Fy)) / ((Cy-By)*(Dx-Fx)-(Cx-Bx)*(Dy-Fy)))+Dx*(Fy-Ey+((Cx-Dx)*(Ay-Cy)*(Ey-Dy)+Dy*(Ay-Cy)*(Ex-Dx)-Cy*(Ax-Cx)*(Ey-Dy)) / ((Ay-Cy)*(Ex-Dx)-(Ax-Cx)*(Ey-Dy))-((Cx-Fx)*(Ay-Cy)*(Dy-Fy)+Fy*(Ay-Cy)*(Dx-Fx)-Cy*(Ax-Cx)*(Dy-Fy)) / ((Ay-Cy)*(Dx-Fx)-(Ax-Cx)*(Dy-Fy)))+Ex*(Dy-Fy+((Ax-Ex)*(By-Ay)*(Fy-Ey)+Ey*(By-Ay)*(Fx-Ex)-Ay*(Bx-Ax)*(Fy-Ey)) / ((By-Ay)*(Fx-Ex)-(Bx-Ax)*(Fy-Ey))-((Ax-Dx)*(By-Ay)*(Ey-Dy)+Dy*(By-Ay)*(Ex-Dx)-Ay*(Bx-Ax)*(Ey-Dy)) / ((By-Ay)*(Ex-Dx)-(Bx-Ax)*(Ey-Dy)))+Fx*(Ey-Dy+((Bx-Fx)*(Cy-By)*(Dy-Fy)+Fy*(Cy-By)*(Dx-Fx)-By*(Cx-Bx)*(Dy-Fy)) / ((Cy-By)*(Dx-Fx)-(Cx-Bx)*(Dy-Fy))-((Bx-Ex)*(Cy-By)*(Fy-Ey)+Ey*(Cy-By)*(Fx-Ex)-By*(Cx-Bx)*(Fy-Ey)) / ((Cy-By)*(Fx-Ex)-(Cx-Bx)*(Fy-Ey)))+((Ay-Dy)*(Bx-Ax)*(Ex-Dx)+Dx*(Bx-Ax)*(Ey-Dy)-Ax*(By-Ay)*(Ex-Dx)) / ((Bx-Ax)*(Ey-Dy)-(By-Ay)*(Ex-Dx))*(((Cx-Dx)*(Ay-Cy)*(Ey-Dy)+Dy*(Ay-Cy)*(Ex-Dx)-Cy*(Ax-Cx)*(Ey-Dy)) / ((Ay-Cy)*(Ex-Dx)-(Ax-Cx)*(Ey-Dy))-Ay+Ey-((Ax-Ex)*(By-Ay)*(Fy-Ey)+Ey*(By-Ay)*(Fx-Ex)-Ay*(Bx-Ax)*(Fy-Ey)) / ((By-Ay)*(Fx-Ex)-(Bx-Ax)*(Fy-Ey)))+((Ay-Ey)*(Bx-Ax)*(Fx-Ex)+Ex*(Bx-Ax)*(Fy-Ey)-Ax*(By-Ay)*(Fx-Ex)) / ((Bx-Ax)*(Fy-Ey)-(By-Ay)*(Fx-Ex))*(((Ax-Dx)*(By-Ay)*(Ey-Dy)+Dy*(By-Ay)*(Ex-Dx)-Ay*(Bx-Ax)*(Ey-Dy)) / ((By-Ay)*(Ex-Dx)-(Bx-Ax)*(Ey-Dy))-Ey+By-((Bx-Ex)*(Cy-By)*(Fy-Ey)+Ey*(Cy-By)*(Fx-Ex)-By*(Cx-Bx)*(Fy-Ey)) / ((Cy-By)*(Fx-Ex)-(Cx-Bx)*(Fy-Ey)))+((By-Ey)*(Cx-Bx)*(Fx-Ex)+Ex*(Cx-Bx)*(Fy-Ey)-Bx*(Cy-By)*(Fx-Ex)) / ((Cx-Bx)*(Fy-Ey)-(Cy-By)*(Fx-Ex))*(((Ax-Ex)*(By-Ay)*(Fy-Ey)+Ey*(By-Ay)*(Fx-Ex)-Ay*(Bx-Ax)*(Fy-Ey)) / ((By-Ay)*(Fx-Ex)-(Bx-Ax)*(Fy-Ey))-By+Fy-((Bx-Fx)*(Cy-By)*(Dy-Fy)+Fy*(Cy-By)*(Dx-Fx)-By*(Cx-Bx)*(Dy-Fy)) / ((Cy-By)*(Dx-Fx)-(Cx-Bx)*(Dy-Fy)))+((By-Fy)*(Cx-Bx)*(Dx-Fx)+Fx*(Cx-Bx)*(Dy-Fy)-Bx*(Cy-By)*(Dx-Fx)) / ((Cx-Bx)*(Dy-Fy)-(Cy-By)*(Dx-Fx))*(((Bx-Ex)*(Cy-By)*(Fy-Ey)+Ey*(Cy-By)*(Fx-Ex)-By*(Cx-Bx)*(Fy-Ey)) / ((Cy-By)*(Fx-Ex)-(Cx-Bx)*(Fy-Ey))-Fy+Cy-((Cx-Fx)*(Ay-Cy)*(Dy-Fy)+Fy*(Ay-Cy)*(Dx-Fx)-Cy*(Ax-Cx)*(Dy-Fy)) / ((Ay-Cy)*(Dx-Fx)-(Ax-Cx)*(Dy-Fy)))+((Cy-Fy)*(Ax-Cx)*(Dx-Fx)+Fx*(Ax-Cx)*(Dy-Fy)-Cx*(Ay-Cy)*(Dx-Fx)) / ((Ax-Cx)*(Dy-Fy)-(Ay-Cy)*(Dx-Fx))*(((Bx-Fx)*(Cy-By)*(Dy-Fy)+Fy*(Cy-By)*(Dx-Fx)-By*(Cx-Bx)*(Dy-Fy)) / ((Cy-By)*(Dx-Fx)-(Cx-Bx)*(Dy-Fy))-Cy+Dy-((Cx-Dx)*(Ay-Cy)*(Ey-Dy)+Dy*(Ay-Cy)*(Ex-Dx)-Cy*(Ax-Cx)*(Ey-Dy)) / ((Ay-Cy)*(Ex-Dx)-(Ax-Cx)*(Ey-Dy)))+((Cy-Dy)*(Ax-Cx)*(Ex-Dx)+Dx*(Ax-Cx)*(Ey-Dy)-Cx*(Ay-Cy)*(Ex-Dx)) / ((Ax-Cx)*(Ey-Dy)-(Ay-Cy)*(Ex-Dx))*(((Cx-Fx)*(Ay-Cy)*(Dy-Fy)+Fy*(Ay-Cy)*(Dx-Fx)-Cy*(Ax-Cx)*(Dy-Fy)) / ((Ay-Cy)*(Dx-Fx)-(Ax-Cx)*(Dy-Fy))-Dy+Ay-((Ax-Dx)*(By-Ay)*(Ey-Dy)+Dy*(By-Ay)*(Ex-Dx)-Ay*(Bx-Ax)*(Ey-Dy)) / ((By-Ay)*(Ex-Dx)-(Bx-Ax)*(Ey-Dy))))

[Copyright 2005 by sonyafterdark smile ]

sonyafterdark
2005-12-17 22:51:16

OpenOffice Err:512 code:

512: Formula overflow

Compiler: the total number of internal tokens, (that is, operators, variables, brackets) in the formula exceeds 512. Interpreter: the total number of matrices that the formula creates exceeds 150. This includes basic functions that receive too large an array as a parameter (max. 0xFFFE, for example, 65534 bytes).

Now, isn't that nice?!!! Just Great!!! X(

sonyafterdark
2005-12-17 21:56:58

OK, here goes. Also, do you know how i might register this as intellectual property once I'm done simplifying it? As far as I know it's the first theorem and only theorem of it's kind. I'd love to get some official recognition of my work. I'd like to see this taught in school some day, along with Pitagora's theorem, etc. big_smile

S.i = AREA of the surface of intersection between the whatever 2 triangles. Should range between 0 and, well, a really big positive number. Otherwise I probably need to snap and abs() around the whole thing smile.

A, B, C = the three tips of the first triangle.

D, E, F = the three tips of the second triangle.

.x, .y = the x and y coordinates of a tip. Not having tested this, I'm not ENTIRELY sure it actually works, but even if it doesn't, it probably only need some minor adjustments here and there, like an abs() or improved clockwise/counterclockwise triangle tip enumeration handling. Guess I'll just have to test it unsimplified. Course, I'll use Excell big_smile.

S.i=1/4*(A.x*(C.y-B.y+((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y))-((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y)))+B.x*(A.x-C.y+((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y))-((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y)))+C.x*(B.y-A.y+((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y))-((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y)))+D.x*(F.y-E.y+((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y))-((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y)))+E.x*(D.y-F.y+((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y))-((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y)))+F.x*(E.y-D.y+((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y))-((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y)))+((A.y-D.y)*(B.x-A.x)*(E.x-D.x)+D.x*(B.x-A.x)*(E.y-D.y)-A.x*(B.y-A.y)*(E.x-D.x))/((B.x-A.x)*(E.y-D.y)-(B.y-A.y)*(E.x-D.x))*(((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y))-A.y+E.y-((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y)))+((A.y-E.y)*(B.x-A.x)*(F.x-E.x)+E.x*(B.x-A.x)*(F.y-E.y)-A.x*(B.y-A.y)*(F.x-E.x))/((B.x-A.x)*(F.y-E.y)-(B.y-A.y)*(F.x-E.x))*(((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y))-E.y+B.y-((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y)))+((B.y-E.y)*(C.x-B.x)*(F.x-E.x)+E.x*(C.x-B.x)*(F.y-E.y)-B.x*(C.y-B.y)*(F.x-E.x))/((C.x-B.x)*(F.y-E.y)-(C.y-B.y)*(F.x-E.x))*(((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y))-B.y+F.y-((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y)))+((B.y-F.y)*(C.x-B.x)*(D.x-F.x)+F.x*(C.x-B.x)*(D.y-F.y)-B.x*(C.y-B.y)*(D.x-F.x))/((C.x-B.x)*(D.y-F.y)-(C.y-B.y)*(D.x-F.x))*(((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y))-F.y+C.y-((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y)))+((C.y-F.y)*(A.x-C.x)*(D.x-F.x)+F.x*(A.x-C.x)*(D.y-F.y)-C.x*(A.y-C.y)*(D.x-F.x))/((A.x-C.x)*(D.y-F.y)-(A.y-C.y)*(D.x-F.x))*(((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y))-C.y+D.y-((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y)))+((C.y-D.y)*(A.x-C.x)*(E.x-D.x)+D.x*(A.x-C.x)*(E.y-D.y)-C.x*(A.y-C.y)*(E.x-D.x))/((A.x-C.x)*(E.y-D.y)-(A.y-C.y)*(E.x-D.x))*(((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y))-D.y+A.y-((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y))))

Told you it's horrid, didn't I? wink

By the way: I really, really don't get what www.ti.org has to do with this? Could you please give me a direct link to the stuff you indicated?

krassi_holmz
2005-12-17 20:55:03

Yes, I think this forum is better than any  simplification software smile

MathsIsFun
2005-12-17 16:20:12

Can we see this 'orrible hequation?

Ricky
2005-12-17 13:18:49

The best I've seen (which isn't saying much) is either the ti-89 or ti-92 when it comes to simplifying.  You can download vti and get an os from www.ti.org so that you can have it on your computer.  If you wish to do this and need help, send me an email.

sonyafterdark
2005-12-17 12:55:27

Can anyone point me to a good place I can download advanced expression simplification software? Easy to use (user friendly - doesn't require learning sintax, program specific coding, etc.) and also freeware (shareware will do also), would be wonderful (yeah, I'm a dreamer). And I don't just mean handling like terms. And if it's not for download (Java applet or somethin') it should at least be able to handle very large expressions.

I've got this huge expression that's just useless in its current form and it really isn't humanly possible to tackle it manually. I really need to get it more compact to make any use of it. Already tried QuickMath, got a WebMathematica timeout error seemingly cause the expression is so large it exceeds allocated processor time or somethin' like that. And nothing else i found even got close to QuickMath. I'm sure the sintax is correct, the brackets are balanced, etc.

Oh, and by the way... the expression is a function of whatever 2 triangles' respective tips' coordinates and should return the area of intersection, if any, between the 2 triangles. Obviously untested.

10q very much. Cheers!!!

Board footer

Powered by FluxBB