Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geometor Explorer #60

Closed
phiarchitect opened this issue Jan 29, 2018 · 7 comments
Closed

Geometor Explorer #60

phiarchitect opened this issue Jan 29, 2018 · 7 comments

Comments

@phiarchitect
Copy link

Greetings Davide -

First, I want to thank you for Algebrite. It is brilliant.

Second, I want to introduce you to a project I am developing which is leveraging Algebrite called the GEOMETOR Explorer - a browser-based graphics and animation engine for exploring classical constructive geometry and documenting instances of Golden Sections with algebraic proofs.

It's all on Github right here: https://github.com/i-am-phi/geometor-explorer

A fairly descriptive readme is developing in the project so I won't reproduce that here.

I am hoping to gain your interest at whatever level you desire. I see from your website that you are an artist as well as an engineer. I am an architect - not a mathematician - but also a solution developer. I think we would have some very interesting conversations.

Algebrite is working incredibly well - but it seems that some values are not simplifying correctly when the constructions get more complex. I have an additional file in the project - Root 3 B - where the last line (12) is getting munged from the points.

I am using ALgebrite to create line and circle equations from the points, then subtracting/substituting these equations from each other to determine the intersection points. Your insight on how to best approach this scenario would be tremendous.

I am preparing to host this on Geometor.com along with a tremendous amount of content I have been developing over the years.

I hope to hear from you.

  • Phi
@davidedc
Copy link
Owner

Hi Phi,

thanks! I love Geometor, beautiful work.

I'm in the middle of launching another project but I'd love to have a chat...

If you want to send me some contact details via my Contact page ( http://www.davidedc.com/contact/ ) we could try to arrange a call or something.

(P.S. The Root 3 B link doesn't seem to work at the moment)

@phiarchitect
Copy link
Author

Thank you. I feel that I am just uncovering the beauty that is already there. These constructions are just the beginning of what I have been researching. There is so much more to demonstrate. I think it will amaze everyone. It is amazing me - that is why I am pretty much dedicating my life to this pursuit.

I will send a separate email with contact info. I think an initial conversation would be great.

All the best.

  • Phi

PS - I forgot to push the Root-3-b yesterday. It is there now. http://i-am-phi.net/geometor-explorer/root3-b.html

@phiarchitect
Copy link
Author

sorry - getting used to github.

@davidedc
Copy link
Owner

adding what line 12 is. Phi, you are saying that its expression is not "simplified enough" or rather is it simplified incorrectly?

What would you expect that expression to be?

screen shot 2018-01-30 at 15 38 31

@phiarchitect
Copy link
Author

phiarchitect commented Jan 30, 2018

I apologize if my terminology is not correct - I am fairly new to this vocabulary :)

Line 12 is derived from points 39 & 44 (two highlighted points on circle 11 below) - which would make it parallel to Line 4. But the values are causing Line 12 and the related intersection points to occur in the wrong places. (But it does appear the y-intercept is in the correct place.)

screenshot 2018-01-30 09 15 08

Line 4 has m = -3^(1/2)
Line 12 has m = -3^(1/2) 5^(1/2) / (4 (1/4 + 1/4 5^(1/2))) - 3^(1/2) / (4 (1/4 + 1/4 5^(1/2)))

point 39:

   x: -1/2 5^(1/2)
  xVal: -1.11803
     y: 0
  yVal: 0
  * parents: 2
    0 :	line
    11 :	circle

point 44:

     x: 1/4 - 1/4 5^(1/2)
  xVal: -0.309017
     y: -1/4 3^(1/2) - 1/4 3^(1/2) 5^(1/2)
  yVal: -1.40126
  * parents: 2
    6 :	line
    11 :	circle

here is the rundown on Line 12

      a: 1/4 3^(1/2) + 1/4 3^(1/2) 5^(1/2)
      b: 1/4 + 1/4 5^(1/2)
      c: 5/8 3^(1/2) + 1/8 3^(1/2) 5^(1/2)
     eq: 1/4 y + 5/8 3^(1/2) + 1/4 3^(1/2) x + 1/8 3^(1/2) 5^(1/2) + 1/4 3^(1/2) 5^(1/2) x + 1/4 5^(1/2) y [ = 0 ]
      m: -3^(1/2) 5^(1/2) / (4 (1/4 + 1/4 5^(1/2))) - 3^(1/2) / (4 (1/4 + 1/4 5^(1/2)))
      n: -3^(1/2) 5^(1/2) / (8 (1/4 + 1/4 5^(1/2))) - 5 3^(1/2) / (8 (1/4 + 1/4 5^(1/2)))
    eq2: [ y = ] (-3^(1/2) 5^(1/2) / (4 (1/4 + 1/4 5^(1/2))) - 3^(1/2) / (4 (1/4 + 1/4 5^(1/2)))) x - 3^(1/2) 5^(1/2) / (8 (1/4 + 1/4 5^(1/2))) - 5 3^(1/2) / (8 (1/4 + 1/4 5^(1/2)))
  xRoot: (-5^(1/2) / ((3^(1/2) 5^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2)) + 3^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2))) (3^(1/2) + 3^(1/2) 5^(1/2))) - 1 / ((3^(1/2) 5^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2)) + 3^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2))) (3^(1/2) + 3^(1/2) 5^(1/2)))) y - 3^(1/2) 5^(1/2) / (2 (3^(1/2) 5^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2)) + 3^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2))) (3^(1/2) + 3^(1/2) 5^(1/2))) - 5 3^(1/2) / (2 (3^(1/2) 5^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2)) + 3^(1/2) / (3^(1/2) + 3^(1/2) 5^(1/2))) (3^(1/2) + 3^(1/2) 5^(1/2)))
  yRoot: (-3^(1/2) 5^(1/2) / ((1 + 5^(1/2)) (1 / (1 + 5^(1/2)) + 5^(1/2) / (1 + 5^(1/2)))) - 3^(1/2) / ((1 + 5^(1/2)) (1 / (1 + 5^(1/2)) + 5^(1/2) / (1 + 5^(1/2))))) x - 3^(1/2) 5^(1/2) / (2 (1 + 5^(1/2)) (1 / (1 + 5^(1/2)) + 5^(1/2) / (1 + 5^(1/2)))) - 5 3^(1/2) / (2 (1 + 5^(1/2)) (1 / (1 + 5^(1/2)) + 5^(1/2) / (1 + 5^(1/2))))
  points: 7
    point :	39
    point :	44
    point :	47
    point :	48
    point :	49
    point :	50
    point :	51

in SVG-utils.js, I started creating some check/validation functions
you can run checkLine(elements[12]) in the console and see that I am getting different values for the xRoot and yRoot for eq and eq2 depending on whether I call simplify again.

This is very much a prototype. And I am kind of guessing on how to use Algebrite. But it all works up until the point values start getting a little complex. I have a near term goal to modularize the code and separate the algebra from the rest of the construction logic.

I will try to document what I am actually doing in deriving the equations and points.

@davidedc
Copy link
Owner

from a high-level perspective, Algebrite should really aim at giving you always "correct" line-line and line-circle intercept(s).

we'd need to see the actual steps used... from which of the two equations you isolate the first variable ("root" should always let you do that for degrees one and two so it should always work), how you substitute the obtained expression in the second equation, and then again how you "root" the second equation (to find either the x or the y of the intercepts).

Then I guess you substitute back to obtain the other variable (again Algebrite should be fixed to always work there), then to plot the values you want numerical values out of the symbolical ones, and "float" should be fixed to always give you those (and I've dealt with bugs in "float" before, so your points might be somewhere but it could be "float"'s fault that they are not where they should be).

So Algebrite should be fixed to always cover those steps.

It's another issue altogether whether the symbolic expressions that one gets for these points are in "good enough" shape that you can then still find phi from those expressions (or ratios of distances between these points, etc.)... this could be more complex to tackle especially if along the way there are "unwieldy" surds in the denominators and nested surds... we'd need to see what ends up in those expressions...

@phiarchitect
Copy link
Author

Closing this to clean up my issues. (If only it were that easy)

Hope you are doing well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants