crertel / graphmath

An Elixir library for performing 2D and 3D mathematics.
The Unlicense
79 stars 14 forks source link

Next steps #7

Closed crertel closed 5 years ago

crertel commented 9 years ago

Alright, what do we want to tackle next?

@Host32

Host32 commented 9 years ago

what your focus is? a physical engine or complete mathematical features?

crertel commented 9 years ago

So, I'm thinking that we finish up a few more things:

That done, I'm happy to tag this and move on to the next fun thing.

I was looking at starting a statistic package with a friend to take on the existing stats package, but I'm happy to keep working on this.

Overall, I'm a fan of tightly-focused libraries. :)

crertel commented 9 years ago

Bump. @Host32

Host32 commented 9 years ago

Sorry for the delay in responding, I got involved in other projects and distracts me a little :P

Well, I have more interest in virtual environments, physical simulation, collision detection, etc.

crertel commented 9 years ago

Cool!

Interested in joining me in a small project with me, say, load a BSP and do queries against it?

I think there's some interesting work there--least of which is, if the geometry doesn't change, the efficiency for multiple processes may still be there.

It'd be a step in the virtual environment direction.

Host32 commented 9 years ago

cool! It seems to be a nice challenge, tell me more! :D

crertel commented 9 years ago

So, a quick overview of BSP (Binary Space Partitiion) trees is here:

They're basically a specialization of kd-trees:

http://en.wikipedia.org/wiki/K-d_tree

The basic idea is that they can be used to speed up visibility queries ("I'm in this room, what can I see?"), but they can also be used to handle collision detection ("What wall am I touching?").

In naive algorithms, for example, you test against everything in the world, one at a time (which scales as n^2 when testing every object against every other object). Using BSP tress, or octrees, or anything similar, you can limit what you test against. For example, I don't have to check that the cup on my kitchen table is touching the bike in my front room, because I know they're in different rooms.

Anyways, maybe doing a simple application showing how to test a bunch of points for collision and moving them around would be a good starting point. Then, we can add more interesting features.

I think the main thing is figuring out how to map that kind of concept into the process architecture of Elxiir/Erlang--that done, we can start looking at the harder math of more advanced detection.

Sound interesting?

Host32 commented 9 years ago

Very interesting!

That's exactly what I was looking for when I started to help with graphmath just had not decided the storage format of environmental data.

I began to draw some things related to it but took a break due to projects that comment, since you're already began to get involved with that I accepted help you :D

Host32 commented 9 years ago

the project are in github?

crertel commented 9 years ago

Haven't opened them yet--will mention you in the issue as soon as they're up!

jimsynz commented 7 years ago

I'm very interested in how I can use this project in two different ways;

crertel commented 7 years ago

@jamesotron I saw Vivid when I was looking at doing software rasterization in Elixir--really cool project! :)

What can I help you with?

jimsynz commented 7 years ago

nothing in particular, just letting you know I'm using your code :)

crertel commented 5 years ago

It's been a minute, and I'm about to open up some new changes for 2.x, so I'm closing this for now.

Thank you everybody for participating!