Fractal Orbit

  • 52 Replies
  • 14549 Views
*

Hopefully Something

  • Trusty Member
  • *********
  • Terminator
  • *
  • 880
  • no seriously where are these cookies
Re: Fractal Orbit
« Reply #45 on: September 13, 2019, 10:52:28 PM »
Flipin Fantastic!!!  :D

*

Korrelan

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1387
  • Look into my eyes! WOAH!
    • YouTube
Re: Fractal Orbit
« Reply #46 on: September 14, 2019, 09:41:27 AM »
It's alot smoother, even works nicely on my android phone now.

 :)
It thunk... therefore it is!...    /    Project Page    /    KorrTecx Website

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1410
    • e-teoria
Re: Fractal Orbit
« Reply #47 on: September 14, 2019, 04:13:07 PM »
Guys, thanks for feedback. You helped a lot  :D
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1410
    • e-teoria
Re: Fractal Orbit
« Reply #48 on: September 25, 2019, 02:31:22 PM »
Did someone say i9? I'm sure someone said i9! How about dragging and animating contents with no scale down for speed? A bit of common sense optimization and it is fast enough even on my Celeron or mom's mid-speed android phone. Notice that there is still no Webassembly, nor asm.js. Only pure javascript, and I'm still surprised how fast it is:

https://e-teoria.github.io/Orbiteque/

I'd still like to hear what's happening on iPhones and tablets.

What's up next? Now I've got some work to do on the parser (I'm trying to implement logic operators), then to integrate it to Orbiteque to form a decent content management system (T-Lang as a Turing complete lisp-ish replacement for HTML, CSS and XSLT, all in one). This will make a space for a personal knowledge base usage (integrating a wisiwig editor then, I think I'm going commercial with this phase, if not before), which in turn will make a space for describing logic proofs and formal theories (Logos language), which will then make a space for crowdsourced site for sharing scientific materia with the world. A lot of things to do for a little me. I hope I'm sticking with this plan because somehow it sounds fine.
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1410
    • e-teoria
Re: Fractal Orbit
« Reply #49 on: March 20, 2020, 07:00:01 PM »
Some programming adventures

  • Just reporting successful fish eye bilinear interpolation, though with some pixel loss trade for speed. Bilinear interpolation does an excellent job with scaling bitmap with antialiased fonts.

  • Also I played a bit with fish eye curvature, any value between -infinity and +infinity is now allowed. 0 means flat, 0.5 means perfect concave sphere, 1 means more concave ellipsoid. The value of 0.25 gives a nice less concave ellipsoid, optimized between readable text area size and boundary exposure (due to decreased magnification towards the edges). 0.125 curvature gives even bigger readable area, but boundary then becomes too reduced, so I stick to 0.25 curvature. The whole idea of using fish eye is to eliminate scroll bars, so I want boundaries to be visible too. Success here also.

  • I tried to do some supersampling (rendering on double width and height, then scaling down to half), and I got almost perfect render without pixel loss, but drawing slowed down by a factor of 4 for a double resolution. Then I tried to implement what I could in asm.js, but things mysteriously  got even more sluggish than in pure javascript. I guess regular javascript JIT compiler optimization does a better job than me. Then I attempted specification of floating point number oversampling/undersampling, both bigger - slower and more visually correct, and smaller - faster and less visually correct. I expected a factor of `sqrt(2)` to show some visual improvement over the factor 1 with only doubling rendering time. Surprisingly, the best speed/pixelloss compromise was when there is no oversampling/undersampling at all. Wasted time until tablets speed up at least by a factor of 4.

  • Then I tried to attack from another angle. Remember how I keep mipmaps of original bitmap iteratively halved way down to 1px * 1px? Now I implemented floating point number downscaling to support downscaling by a fractional factor between 1 and infinity. Expectedly, factors bigger than 2 introduce more pixel loss. Indeed, downsampling with factors between 1 and 2 (like `sqrt(2)`) give less pixel loss when rendering fish eye, but priorly scaling original bitmap to mipmaps by these factors introduce ugly pixel imperfect artifacts visible on regular square grids and regular concentric circles. I tried a few algorithms from out there to scale down mipmaps, but neither one did do the perfect scaledown, and they were all too slow considering proportionally bigger amount of processed mipmaps. Finally, I gave up, concluding that the best compromise is with the original mipmap scale factor 2. Also a wasted time until tablets speed up at least by a factor of 4, and then I still need to come up with perfect scaledown solution.



TL; DR;
Overall, only bilinear interpolation and variable fish eye curvature succeeded, but those alone are a big improvement from previous nearest neighbor scaling and fixed curvature of 1. The whole thing is even faster than the previous version without interpolation (where I used some weird tricks to increase readability), and it should be again fast enough even on mid-level smartphones (Chrome is notably faster than Firefox on desktops). Texts should now finally look perfectly antialiased without any visible pixelization, although with mostly insignificant pixel loss, with conveniently large oval area of visibility. From my experience, text sizes down to 10-12 points are still perfectly readable in a large area of central oval. For comparison, font shown in the below example is 18 points. I also noted some bugs with live resizing, fixing is pending.

Check it out on the same link as before: https://e-teoria.github.io/Orbiteque/.
« Last Edit: March 20, 2020, 09:04:09 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.

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1410
    • e-teoria
Re: Fractal Orbit
« Reply #50 on: April 11, 2020, 07:21:44 PM »
Wanna see something weird? The only thing I did was setting curvature variable from positive to negative `-0.25` value, and the code accepted it without any problems. It looks like a raytrace algorithm where bounding rays are bounced twice against the mirror.

There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.

*

krayvonk

  • Electric Dreamer
  • ****
  • 125
Re: Fractal Orbit
« Reply #51 on: April 11, 2020, 09:50:48 PM »
Tripped out dudez!   :D

*

frankinstien

  • Bumblebee
  • **
  • 32
    • Knowledgeable Machines
Re: Fractal Orbit
« Reply #52 on: May 07, 2020, 09:00:02 PM »
What you're describing is an ontological framework. I did work with Roget's Thesaurus where each class has satellites who have satellites, who have satellites, who have satellites. While you can only drill down so deep with Roget's framework you can extend to more subclasses that can relate to just about any kind of data. Which I did as well and am continuing to do work with. Here are some images:


here another example:


There are six main classes that drill down to 5 levels, but there is also an ability to describe words in various contexts that can build composite structures that relate to any kind of data inclusive of emotional signatures.

There is a more modern and complex ontological framework I work with now but Roget's Thesaurus was a proof concept and is used to give a machine an impression, similar to the image below:


The image depicts the first and second levels of Roget's classification scheme.


This image depicts the second and third levels of Roget's classification scheme.

Note the paragraph on the lower left-hand side of the UI. The radar maps on the right are the impressions or the span of ideas and concepts the machine can relate to from the paragraph.

 


Users Online

11 Guests, 2 Users
Users active in past 15 minutes:
ivan.moony, frankinstien
[Bumblebee]
[Trusty Member]

Most Online Today: 29. Most Online Ever: 340 (March 26, 2019, 09:47:57 PM)

Articles