Fractal Orbit

  • 57 Replies
  • 15504 Views
*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1458
    • contrast-zone
Fractal Orbit
« on: February 04, 2018, 11:19:12 am »
Fractal Orbit is a project that has some connection to representing structured data on 2D screen. Data can be anything, from textbooks, over source code, over business databases, over knowledge base representation. As knowledge base is directly connected to AI, I thought  this is the right place to share this project.



It is about representing knowledge trees in a way that reminds me of fractals. Children nodes orbit around parent nodes, while adjusting their magnification to fit between outer and inner circle. Clicking a child node zooms in its circle together with its grandchild nodes. Clicking a central parent node zooms out, back to the grandparent circle node. It should be interesting to follow node links in and out from one tree node to another, even across indirectly connected nodes of the tree.

I think it would look cool on round smart watches :)
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6829
  • Mostly Harmless
Re: Fractal Orbit
« Reply #1 on: February 04, 2018, 02:52:27 pm »
Interesting - is this a project by yourself Ivan ?

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1458
    • contrast-zone
Re: Fractal Orbit
« Reply #2 on: February 04, 2018, 03:49:06 pm »
Thank you, Freddy.

Yes, it is another project of mine in development. I plan to use it as a structural editor for a logic framework I'm developing (still have to inform you about progress), but I may also find another, less interesting uses, I'll see.  Like in arranging chapters and sub-chapters of markdown documents inside circles (documentation), or in arranging forum like conversations in a structured way (collaboration), or in knowledge versioning (parallel domain universes). It is about trees of data, and as such, it should fit anywhere in the information world, which means AI knowledge base in my primary interest. I'm also excited about possibility of crowdsource powered building of ontologies (like Sumo or WordNet).
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

Zero

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1016
  • Ready?
    • dissolvedgirl
Re: Fractal Orbit
« Reply #3 on: February 04, 2018, 06:19:08 pm »
I really like it, congratulations!

It would probably fit well in a "touch" environment: various gestures would rotate, zoom in/out, translate, and edit.

*

ranch vermin

  • Not much time left.
  • Terminator
  • *********
  • 947
  • Its nearly time!
Re: Fractal Orbit
« Reply #4 on: February 04, 2018, 11:37:17 pm »
I love this project of yours Ivan, I also love fractals.

Each level is a magnification of the level before, and its actually the same as multiplication.   But ur different levels dont have to just be a repeat if ur using it for data purposes.

But I dont believe in your ability to understand this subject, if you dont take advantage of the compressability here, and i think youve bunged your project. :)
« Last Edit: February 05, 2018, 12:22:28 am by ranch vermin »

*

keghn

  • Trusty Member
  • *********
  • Terminator
  • *
  • 824
Re: Fractal Orbit
« Reply #5 on: February 05, 2018, 12:50:38 am »
 I really like circles and kirigami folds:

https://www.youtube.com/watch?time_continue=1&v=spUNpyF58BY   

*

Zero

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1016
  • Ready?
    • dissolvedgirl
Re: Fractal Orbit
« Reply #6 on: February 05, 2018, 08:38:59 am »
I love this project of yours Ivan, I also love fractals.

Each level is a magnification of the level before, and its actually the same as multiplication.   But ur different levels dont have to just be a repeat if ur using it for data purposes.

But I dont believe in your ability to understand this subject, if you dont take advantage of the compressability here, and i think youve bunged your project. :)
The fractal is not in the dataset, but in the presentation of the dataset. Only the interface is fractal-like. Well, the dataset can be fractals.

It reminds me the design of a wonderful game named The Machine.

Ivan.moony if you can make it as a "universal" pluggable UI tool, you'd make a lot of people veeery happy!
 ;)

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1458
    • contrast-zone
Re: Fractal Orbit
« Reply #7 on: February 05, 2018, 11:18:15 am »
The thing initially really slowed down even at some low recursion level like four or five. If each level has, say 100 children, then the first level has 100 nodes, second 100 * 100, third 100 * 100 * 100, and so on. That is very steep exponential curve, which I solved by measuring a radius of each node. If the radius is less than 2.5 pixels, I don't enter the recursion, and things get fast enough to get a static image.

Calculating positions and radiuses was a tricky thing. I tried to make it mathematically correct, but when I entered a system of equations to Wolfram Alpha, I got two pages long solutions. I also tried an option of making inner and outer circles concentric, drawing child circles each with the same smaller fit radius, then 3D rotating the whole thing, so the near circles get big, and far ones small. This was also unacceptable, as there was a big focus distorsion of coordinates on very near circles.

I finally settled down with binary search of x, y and r. First I set bounds on minimum and maximum coordinates and radius, then I check if circles intersect, and that is a case when:
  • the distance between centers is less than the sum of radiuses - for one circle next to another
  • absolute value of radius difference is less than the distance between centers - for one circle inside another
If there is an intersect, I half the position and radius in one direction. If there is no intersect, I half the position and radius in the other direction. After some 16 steps for each circle (I actually measure a pixel precision to stop the binary search), I get coordinates and radius precise enough to draw it without noticing an error in approximation. Surprisingly, this is a very fast method, probably faster than getting mathematically correct model because each calculation step is very simple.

More or less I'm done with the static part (the posted image is actual browser screenshot), but I still have to make it responsible to mouse drags and clicks. Also, each node will probably have a user defined HTML to draw it at certain magnification level (I still have to check the speed of this perversion).

Then It probably goes to Github, but I'll give it another thought after it's finished.

[Edit] I attached another screenshot...
« Last Edit: February 05, 2018, 11:55:44 am by ivan.moony »
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

Zero

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1016
  • Ready?
    • dissolvedgirl
Re: Fractal Orbit
« Reply #8 on: February 05, 2018, 01:45:13 pm »
Man you're my god.

If it's a little cpu-intensive, maybe a web worker can do part of calculations in the background, so you stay sanely responsive.

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1458
    • contrast-zone
Re: Fractal Orbit
« Reply #9 on: February 05, 2018, 03:39:42 pm »
Quote
Man you're my god.
Thank you, but a simple `like` would be enough for me. No need for exaggerating.

If it's a little cpu-intensive, maybe a web worker can do part of calculations in the background, so you stay sanely responsive.
Webworkers are cool, but I think a bit heavyweight if you use a lot of short threads. Anyway, I might try it if necessary.
« Last Edit: February 05, 2018, 07:52:49 pm by ivan.moony »
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

WriterOfMinds

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 345
    • WriterOfMinds Blog
Re: Fractal Orbit
« Reply #10 on: February 05, 2018, 09:05:22 pm »
Neat idea.  Is it compatible with trees that feature multiple inheritance, or is it necessary that each child only have one parent?

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1458
    • contrast-zone
Re: Fractal Orbit
« Reply #11 on: February 05, 2018, 09:49:15 pm »
Neat idea.  Is it compatible with trees that feature multiple inheritance, or is it necessary that each child only have one parent?
Thank you WriterOfMinds, very kind of you :)

One parent limitation is not necessary if we don't want it. So, how could multiple parents be created? Suppose we have a tree:
Code
node-1 {
    node-1-1 {
        node-1-1-1,
        node-1-1-2,
        node-1-1-3
    },
    node-1-2, {
        node-1-2-1,
        node-1-2-2,
        reference-to-node-1-1
    },
    node-1-3 {
        reference-to-note-1-1
    }
}
From this tree it follows that `node-1-1` has three parents: initial `node-1` by definition place, and nodes `node-1-2` and `node-1-3` by referencing places.

I'm sure there are other methods too, but this one is the best I have for now. May I ask would this be compatible with Acuitas' knowledge base?
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

LOCKSUIT

  • Emerged from nothing
  • Trusty Member
  • ******************
  • Hal 4000
  • *
  • 4329
  • First it wiggles, then it is rewarded.
    • Main Project Thread
Re: Fractal Orbit
« Reply #12 on: February 05, 2018, 11:47:53 pm »
Connections? Connect one orb/ball to another far away one, with a weight/strength, that adapts with time. ???
Emergent

*

Zero

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1016
  • Ready?
    • dissolvedgirl
Re: Fractal Orbit
« Reply #13 on: February 06, 2018, 10:44:08 am »
Oh God... ;)
For multiple parents, "up" could mean parent and "down" could mean child. When dragging, the thing would move as if it was projected on a sphere.

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Trusty Member
  • **********************
  • Colossus
  • *
  • 5864
Re: Fractal Orbit
« Reply #14 on: February 06, 2018, 03:31:54 pm »
Nice but some of us do not use Facebook so that Machine reference was just a glance.

Good fractal work!
In the world of AI, it's the thought that counts!

 


The New Species (Project Progress)
by MikeB (General Project Discussion)
September 25, 2020, 09:51:44 am
Pattern based NLP
by MikeB (General Project Discussion)
September 25, 2020, 09:29:25 am
humor
by yotamarker (General AI Discussion)
September 25, 2020, 07:06:40 am
Autonomous Rover
by infurl (Home Made Robots)
September 25, 2020, 03:52:16 am
What's everyone up to ?
by LOCKSUIT (General Chat)
September 25, 2020, 01:13:09 am
List of MMO Games for 2020
by Dat D (General Chat)
September 24, 2020, 04:29:28 am
Machine learning for fun and profit.
by infurl (AI Programming)
September 23, 2020, 12:53:45 am
Friday Funny
by LOCKSUIT (General Chat)
September 21, 2020, 12:46:55 am
New model beats GPT3
by LOCKSUIT (AI News )
September 25, 2020, 01:19:53 am
Robotic vacuum cleaner news.
by infurl (Robotics News)
September 22, 2020, 12:29:53 am
GPT-f SOTA AMTP
by infurl (AI News )
September 13, 2020, 12:56:47 am
Battle dogs!
by LOCKSUIT (Robotics News)
September 12, 2020, 04:27:46 pm
Artificial Intelligence Easily Beats Human Fighter Pilot in DARPA Trial
by LOCKSUIT (AI News )
September 12, 2020, 04:25:46 pm
Important memristor breakthrough.
by infurl (AI News )
September 07, 2020, 12:57:06 am
AllenAct for research in embodied AI
by infurl (AI News )
September 01, 2020, 01:27:35 am

Users Online

128 Guests, 0 Users

Most Online Today: 137. Most Online Ever: 528 (August 03, 2020, 06:16:11 am)

Articles