Functional Flocking Quadtree in ClojureScript
https://www.lbjgruppen.com/en/posts/flocking-quadtrees
#HackerNews #Functional #Flocking #Quadtree #ClojureScript #DataStructures #FlockingAlgorithm
Functional Flocking Quadtree in ClojureScript
https://www.lbjgruppen.com/en/posts/flocking-quadtrees
#HackerNews #Functional #Flocking #Quadtree #ClojureScript #DataStructures #FlockingAlgorithm
🤔🎨 Ah, yes, yet another attempt to make data structures "fun" by shoehorning them into #Clojure. Who wouldn't want to spend their weekend navigating a "functional" #quadtree demo that ironically leaves mobile users clicking aimlessly? 📱🔍
https://lbjgruppen.com/en/posts/functional-quadtree-clojure #dataStructures #functionalProgramming #UXdesign #HackerNews #HackerNews #ngated
🌘 函數式 Quadtree:Clojure 實現與瀏覽器視覺化
➤ 以函數式思維在 Clojure 中構建動態細節的空間分割樹
✤ https://lbjgruppen.com/en/posts/functional-quadtree-clojure
本文介紹如何使用 Clojure 建構一個函數式的 Quadtree 資料結構,並在瀏覽器中實現互動式視覺化。作者說明瞭傳統的命令式方法需要手動管理節點更新,而函數式方法則透過遞迴重建整個樹狀結構,以達到簡潔且易於維護的目標。文中詳細闡述了節點的定義、判斷分割的邏輯,以及如何利用 Clojure 的 `prewalk` 函數來進行樹狀結構的遍歷和轉換。此外,文章也探討瞭如何透過 ClojureScript 的原子 (atom) 和 `add-watch` 機制,將 Quadtree 的變更即時反映在瀏覽器的 Canvas 視覺化上,並分享了使用雜湊函數為節點生成固定顏色的技巧,以避免畫面閃爍。
+ 太棒了!一直想找函數式處理空間分割的範例,這篇寫得非常清晰
#程式設計 #Clojure #Quadtree #函數式程式設計 #瀏覽器
Coal Town / quadtree division and 1bit texture placement
#bitmap #quadtree #texture #grit #vectorart #artgénératif #noiretblanc
Today might be the day where I implement a quadTree for the first time. I have never needed it before but I do think I need it now, as the frame rate went way down when I added very basic collision detection to my mini-game-engine.
But I'll have to wait an see if I actually get to have the time to do it today. 🤞
@Phracker2Art : #quadtree is fun :)
Watch at: https://youtu.be/k_aLTr8P3bI
Play at: https://tic80.com/play?cart=3909
#tic80 #youtube #youtuber #youtubechannel #pixel #pixelart #pixelanimation #animated #animation #animation2d #2d #2DAnimator #2danimation #art #artist #artistsonmastodon #fractal #quadtree #geometry #beach #programming #code #coding #creativecoding #creative #lua #fantasyconsole #animator #geek #nerd
MassivePoints 0.12.0 is released.
* Fixed boundary coordinate precision on calculation for splitting.
* Fixed the globe bound.
* Added coordinate points validation process on sample code.
* Added more xml comments.
MassivePoints 0.10.0 is released.
* Split session interface between updatable and readable.
* Supported multi-dimensional coordinate points. (1D, 2D, 3D and more)
MassivePoints 0.9.0 is released.
* Added bulk insert features.
* Improved concurrency.
* Implemented index shrinking.
Watch at: https://youtu.be/Qba0zD1c4WU
Play at: https://tic80.com/play?cart=3894
#tic80 #youtube #youtuber #youtubechannel #pixel #pixelart #pixelanimation #ball #quadtree #program #programming #programmingart #code #coding #creative #creativecoding #nerd #geek #indie #indieartist #scripting #retro #8bit #lua
MassivePoints 0.8.0 is released.
.NET implementation of QuadTree, hold a very large number of 2D coordinates and perform fast range searches, with in-memory and database offloading.
Cactus Juice
https://diode.zone/videos/watch/52eeeaff-8d05-4a5b-8e24-0fd0ff6ff973
Infinite zoom into a photo of a cactus, upscaled using a self-referential quad tree algorithm, synchronized with minimal techno soundtrack (124bpm) made with my Clive live coding system and the Audacity audio editor. Based on Fractal Image Compression with Quadtrees book chapter by Yuval Fisher.
Randomly stumbled into #kdtree #quadtree #algorithm today and it happened to allllmost line up with a work problem I've been pondering.
My problem involves moving objects. Not just moving, but I want to query them at different points in time.
I think if I just add a time dimension (HexTrees?) it might work...? I'm not clear on the details of the actual algorithm or how this would work. #software #math
Been getting several DMs about the #GenerativeArt banner image in my profile. It's an old render (from 2010) of a recursive #Voronoi projected into a #Quadtree. This video shows the interplay of 2 conceptual hierarchies:
1) Verlet particles with attractive/repulsive force fields are spawned in a squared 2d space and negotiate their positions over time. These positions are also used as sites for creating a dynamic Voronoi diagram to define cell structures around each particle. Each resulting Voronoi region can then become the physical (and constantly changing) bounds for the next level of recursion, spawning more particles to subdivide it into smaller regions. Each cell at each level is using its own Voronoi instance with sub-regions clipped to their respective parent region. The process becomes more and more local... The setup in the video has a maximum tree depth of 3.
2) A quadtree is used to visualize the hierarchy of cells from phase 1 and its depth structure represented as extruded 3D model (in isometric perspective). For this video the quadtree has a depth of 10 levels with the maximum level of recursion tracing/coinciding with the Voronoi cell edges. The elevation of cell walls depends on the depth of the cell in the original tree, with the cells at deepest level resulting in the tallest structures. Furthermore, the elevation is modulated by the distance of each point to the nearest vertex of its parent cell polygon/region...
Day 9, turned the walker into a wandering blackhole eating the points up in the quadtree. Got to name an array rememberedDead. It has got to be the rain!
#quadtree #30DaysOf #NatureOfCode #p5js #CreativeCoding #GenerativeArt #CodeInLink
https://carlynorama.github.io/2023January-30DaysNatureOfCode/09-quadtree-update/
#fosdem #javascript #datastructures #quadtree example no control on mem layout #garbage collectors #jit makes benchmarking harder