Comments (3)
Beyond matrix dimensions, it might also be good to explicitly state other assumptions. For example, when describing faces, am I correct in assuming that they should be oriented so that the normal - as determined by a counter-clockwise winding order - are pointing outwards?
from ipc-toolkit.
Hi Andreas! Thanks for pointing out this issue. I thought it was better documented, but recent changes must have removed this information.
Throughout the toolkit, the vertex position and velocity matrices are expected to be
The orientation of the faces does not matter because we never use the concept of inside/outside or normal vectors in the toolkit (or in the IPC algorithm in general).
I will update the documentation (code and website) to make both of these points clear. Let me know if you find any other undocumented assumptions.
from ipc-toolkit.
Thanks for the swift response, and the clarifications. figured that the conventions would be like this - just thought I'd note that it would make the initial onboarding experience a little better if these were spelled out explicitly. One less thing to wonder about!
Good to know about the orientation. I know it's not necessary for the IPC algorithm in general but it was not clear to me if it was, for example, important for the CCD, with which I have much less familiarity!
I'm happy to say that I very swiftly was able to get things up and running, i.e. assembly of the potential, gradient and Hessian, as well as determining the maximal step size. Great job in making IPC so accessible! I have yet to integrate it into my actual simulator, and there are some things I don't fully understand just yet, but I'd like to play around with it a bit more before I potentially come back with more questions :-)
from ipc-toolkit.
Related Issues (16)
- issue in distance_type.tpp HOT 3
- std::array issue HOT 2
- Co-dimensional simulations HOT 4
- EdgeEdgeConstraint distance gradient crash HOT 1
- Questions regarding RigidIPC and GPU CCD HOT 1
- Slightly confusing documentation for CollisionMesh HOT 4
- Shallow checkout with FetchContent may fail if tag is not HEAD HOT 4
- Control threading behavior HOT 3
- Unexpectedly slow CCD HOT 13
- Consider changing naming convention to indicate squared distances HOT 3
- Possibly inconsistent results for convergent formulation with respect to dhat? HOT 2
- Average body mass in IPC-toolkit vs average lumped nodal mass in IPC HOT 4
- Basic example of initialization and simulation loop HOT 2
- Closed-form expressions for the Distance Gradients / Hessians HOT 1
- Possible Bug in the Definition of the Hash Structure HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipc-toolkit.