Fractal Orbit

  • 31 Replies
  • 5346 Views
*

ivan.moony

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1153
    • Some of my projects
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 :)
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6494
  • 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
  • **********
  • Millennium Man
  • *
  • 1153
    • Some of my projects
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).
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
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.
Thinkbots are free, as in 'free will'.
Check out Hashbag

*

ranch vermin

  • Not much time left.
  • Terminator
  • *********
  • 961
  • 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
  • *
  • 855
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
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
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!
 ;)
Thinkbots are free, as in 'free will'.
Check out Hashbag

*

ivan.moony

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1153
    • Some of my projects
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 »
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
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.
Thinkbots are free, as in 'free will'.
Check out Hashbag

*

ivan.moony

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1153
    • Some of my projects
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 »
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

WriterOfMinds

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 144
    • 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
  • **********
  • Millennium Man
  • *
  • 1153
    • Some of my projects
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: [Select]
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?
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

LOCKSUIT

  • Emerged from nothing
  • Trusty Member
  • **************
  • Dot Matrix
  • *
  • 2305
  • First it wiggles, then it is rewarded.
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
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
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.
Thinkbots are free, as in 'free will'.
Check out Hashbag

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Global Moderator
  • *********************
  • Deep Thought
  • *
  • 5166
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!

 


Users Online

70 Guests, 2 Users
Users active in past 15 minutes:
ivan.moony, Art
[Global Moderator]
[Trusty Member]

Most Online Today: 87. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles