Comments (8)
@utilForever: to be fair, I do understand the confusion since I'm actually mixing row major matrix with column vector in Jet framework. Typically you would interpret a vector as a flat matrix when matrix system is row major. (See this post: https://fgiesen.wordpress.com/2012/02/12/row-major-vs-column-major-row-vectors-vs-column-vectors/)
Anyhow, that's how Jet framework defines matrix and vector at the moment. I was thinking of moving to column major once, but decided that it's not worth the effort.
from fluid-engine-dev.
Wait, are you sure? Matrix's ij convension is different than array -- ij and xy is in different order.
from fluid-engine-dev.
4 * i + j
is correct. It points to i
th row and j
th column. So in a flat memory, column index moves faster.
from fluid-engine-dev.
Agree. I think that 4 * i + j
is correct, too. I'm confusing this logic:
template <typename T>
Matrix<T, 4, 4> Matrix<T, 4, 4>::makeTranslationMatrix(const Vector<T, 3>& t) {
return Matrix(
1, 0, 0, t.x,
0, 1, 0, t.y,
0, 0, 1, t.z,
0, 0, 0, 1);
}
from fluid-engine-dev.
Hmm that's what a translation matrix should be when you perform matrix-vector multiplication in MV order. Some libraries use VM order, and then the matrix should be transposed.
from fluid-engine-dev.
I totally understand. It's been a long time since I learned, so I think I was confused with the concept. It was my mistake. Thank you for your explanation and I'll close this issue.
from fluid-engine-dev.
No worries. Thanks for opening up the issue regardless.
from fluid-engine-dev.
Ok, I got it. With row major matrix and column vector, the code is correct. But I think it is better to use row major matrix and row vector.
from fluid-engine-dev.
Related Issues (20)
- How do I run the examples and the animations?
- How to run the particles2obj example? HOT 14
- Compile error when compiling with Clang 10 HOT 1
- Promotion of projects/research using Jet Framework HOT 4
- How to implement the xyz to mesh generation to another code for fluid simulation? HOT 1
- How do I set up a fluid particles at rest and a fluid particles with initial velocity HOT 3
- Suggestion to replace Travis CI/Appveyor with GitHub Actions HOT 5
- Some unit tests failure on 32-bit system
- Fix Visual Studio 2017 build failure on GitHub Action
- Timer test code failure on MinGW system
- No known features for CXX compiler "Clang" HOT 5
- running the Python example show error HOT 8
- Replace Clara
- About the local method in the surface_to_implicit HOT 1
- GridSmokeSolver3::computeDiffusion is diffusing smokeDensity instead of temperature HOT 2
- Incorrect formula for collider boundary conditions (Equation 3.18 in the book)
- can't build cmake in win64 HOT 1
- bug in void Matrix<T, M, N>::invert() in "include/detail/matrix-inl.h" HOT 1
- Newer Versions of Flatbuffer is breaking the build in particle_system_data2.cpp HOT 1
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 fluid-engine-dev.