16:54:19
shinmera
that doesn't have any spatial component, unless I'm misunderstanding.
17:39:34
selwyn
you could build a graph where objects are vertices and they are connected if they are less than max distance away from each other
17:39:51
selwyn
doing union find gets the connected components of that graph
17:40:04
selwyn
though it is not quite what you wanted
17:40:23
selwyn
it might be possible to modify union find in some way to do that?
17:42:57
shinmera
I'm wondering about this because usually you want to do a broad phase search that gives you sets of possible collisions, rather than going over every object and then doing a broad phase against objects in the neighborhood
17:48:22
selwyn
and it's guaranteed that each set has every member being at most n*max distance away from each other
17:49:12
shinmera
how would you quickly add objects to the graph?
17:53:15
selwyn
move the objects themselves?
17:53:35
selwyn
it takes quadratic time to build the graph
17:53:47
selwyn
so maybe it's bad to do it every frame
17:54:14
shinmera
And it's fine to suggest it :v
17:54:43
selwyn
wouldn't an octree do it
17:56:52
shinmera
No, none of those structures really give you an idea about adjacency or clustering, which is what I'm interested in.
18:05:52
gingerale
shinmera: What's the new library with data structures called so I can clone it?
18:06:32
shinmera
I'm trying to come up with a good common interface first.
18:10:12
shinmera
Here's what I have so far https://plaster.tymoon.eu/view/3719#3719
18:10:23
shinmera
|3b|: I think you'd probably have some good insight on this as well ^
18:12:20
shinmera
The point of standardising the region struct is so that all implementations can use that one structure to receive information about the size of the area to query.
18:30:24
shinmera
gingerale: https://github.com/Shirakumo/3d-spaces it's here for now. I just copy pasted the files, will make them work with the interface tomorrow.
19:28:53
shinmera
gingerale: also looks like your emacs config still creates files with CRLF rather than LF by default.
19:29:08
shinmera
Didn't catch that in your initial quadtree PR
19:33:48
gingerale
Weird. I thought I fixed that.
19:35:36
gingerale
I checked. I have "(set-buffer-file-coding-system 'utf-8-unix)" in .emacs file
19:36:00
shinmera
dunno what happened but the file was deffo in crlf
20:55:44
selwyn
i think that union find captures something inherent to the problem
20:56:12
selwyn
one such set of disjoint sets would be to have each set be a singleton
20:56:35
selwyn
but that presumably isn't helpful - you want the smallest number of disjoint sets
20:57:12
selwyn
union find does build up the solution from singletons
20:59:40
shinmera
one of the primary issues I can see is that you need very fast updates to the structure.
20:59:55
shinmera
objects will move a lot and new objects being added cannot be too expensive, or it would lead to lag.
21:00:15
shinmera
trees are nice for that sort of thing
21:01:41
selwyn
adding a new object would just be a union find step right?
21:02:46
shinmera
would it? My brain is no good at this stuff.
21:03:08
selwyn
ill think about it later and see if something can be done
21:03:30
selwyn
ive probably asked this before and forgotten
21:03:43
selwyn
but what is all this 3d stuff for
21:04:07
selwyn
is it for your next title in particular?
21:05:28
selwyn
im going to revisit trial-vr
21:05:42
selwyn
so i might end up using the physics engine
21:06:05
selwyn
the least bad option is to install goddamn windows and do it on there
21:06:12
selwyn
which im not looking forward to
21:07:43
selwyn
speech to text and screen capture is easier on windows
21:10:41
selwyn
do you know if it's still possible to get a free copy of windows with azure?
21:10:53
selwyn
you must have some windows vms for testing kandria
21:11:16
shinmera
There's other ways to get copies and I can just keep cloning the same VM.
22:12:09
|3b|
shinmera: the paste or the data structure question?
22:12:40
|3b|
and git might be adding crlf if you are committing from windows
22:15:59
|3b|
ACTION probably doesn't have any useful ideas for data structure, but isn't really sure what you are asking for anyway...
22:16:45
|3b|
if you have a regular grid of points, do you want it to return either a group per point or 1 group for whole thing depending on distance?
22:16:53
|3b|
or a set of overlapping discs?
22:17:14
|3b|
or a set of disjoint shapes?
22:28:06
|3b|
in the paste, that RADIUS looks more like a diameter (if that matters), and i'd probably initialize Z to 0 when copying from vec2 in ensure-region
22:31:48
|3b|
and should REGION be coercing X,Y,Z to floats?
Saturday, 18th of March 2023, 3:48:11 UTC