Jump to content

Advanced Math for Houdini


Igor

Recommended Posts

I do not use Houdini for long but I have feeling that very good knowledge of Math is important. I had highschool math and I do use Maya for 6 years. I know how to work with vectors and such but I do not know much about advanced mathematics as linear algebra. First I did think that my math knowlege is good enough for Houdini but sometimes I do not understand how solution works. In questions in OdForce Forum I got great help and solutions and I tried hard to understand it. I understand principle of method but not math in code. Is there website or online resourse where I can learn this? How long does it take to know enough math to understand advanced algorithms? Or is it overall not so important to know and should I not worry much about it?

(Sorry for my English! I hope you do understand what I mean!?)

Link to comment
Share on other sites

23 minutes ago, Igor said:

How long does it take to know enough math to understand advanced algorithms?

Do you have an example of an advanced algorithm or other things that are confusing?

I haven't seen anything past Calculus yet IIRC

Link to comment
Share on other sites

Thanks Marty for reply!

This are two examples I do not understand. First one is algorithm which I found at MIT Website for curvature. I do understand rough prinziple but not real implementation. And second one is hole-filling algorithm as answer to my question. I tried to study it for some time and did lot of Google search but everything I did find is much to complicated for me. But maybe it is not so complicated as I think. If you can explain or know some Website where I can learn it would help me very much!

http://forums.odforce.net/topic/26380-vdb-curvature-flow/?do=findComment&comment=152972

http://forums.odforce.net/topic/26710-polygon-mesh-hole-filling/?do=findComment&comment=154295

 

Link to comment
Share on other sites

khan academy is great but i would rather not buy the book. i haven´t read it tbh, but it might not be too helpful since you are dealing with meshes in houdini and not with continuous functions. and just because you know what partial derivatives are, doesn´t mean you can use this information on meshes. a good example for this is curvature calculation. it´s clean and easy on contiuous surfaces and also on volumes but on meshes it´s another story. that´s the reason why you can find 20 different implementations for polygonal surfaces instead of just one elegantly expressed equation. so, instead of looking into calculus i would rather do some research on computer graphics, differential geometry, etc.
generally speaking, you shouldn´t get too confused about all this since most of the time you´ll be fine with vector math and basic linear algebra (your two questions were rather the exception i would say)...

petz

Edited by petz
  • Like 3
Link to comment
Share on other sites

25 minutes ago, petz said:

khan academy is great but i would rather not buy the book. i haven´t read it tbh, but it might not be too helpful since you are dealing with meshes in houdini and not with continuous functions. and just because you know what partial derivatives are, doesn´t mean you can use this information on meshes. a good example for this is curvature calculation. it´s clean and easy on contiuous surfaces and also on volumes but on meshes it´s another story. that´s the reason why you can find 20 different implementations for polygonal surfaces instead of just one elegantly expressed equation. so, instead of looking into calculus i would rather do some research on computer graphics, differential geometry, etc.
generally speaking, you shouldn´t get too confused about all this since most of the time you´ll be fine with vector math and basic linear algebra (your two questions were rather the exception i would say)...

petz

Hi Petz!

Nice answer about maths! I'm fan of your explanations and example files here on OdForce!

But what about dissecting some siggraph papers for example (computer graphics research), I think one needs better understanding of deep maths to implement those algorithms, no? so again the question, what kind of maths or level of understanding do you need to dissect those computer graphics papers? I know some calculus, linear algebra, etc; But sometimes there is very deep math in those papers, like some Russian vodka of maths! :) So difficult to understand and implement.

Thank you!

Edited by Pazuzu
  • Like 1
Link to comment
Share on other sites

On 31.8.2016 at 11:50 PM, marty said:

@petz good points, but do you think that one has to know precalculus well before understanding other mathematical aspects too? 

well, as answer to this specific question i would say yes. if one want to understand mathematics in general, then precalculus is absolutely something he will need to know. it´s important to understand core principles and getting familiar with symbols and notations.
if one is not so interested in mathematics in general and just need it for working in houdini, then i would say no. don´t get me wrong, i think algebra and trigonometry is needed all the time but lots of other things are maybe not. that´s the reason why i would rather recommend books about computer graphics and not about precalculus in this case.

@igor
if you belong to the first group, forget everything i´ve written in the post above and go for the book!

  • Like 4
Link to comment
Share on other sites

On 31.8.2016 at 11:54 PM, Pazuzu said:

Nice answer about maths! I'm fan of your explanations and example files here on OdForce!

thanks!

 

On 31.8.2016 at 11:54 PM, Pazuzu said:

But what about dissecting some siggraph papers for example (computer graphics research), I think one needs better understanding of deep maths to implement those algorithms, no? so again the question, what kind of maths or level of understanding do you need to dissect those computer graphics papers? I know some calculus, linear algebra, etc; But sometimes there is very deep math in those papers, like some Russian vodka of maths! :) So difficult to understand and implement.

if you want to, or have to implement siggraph papers i think you´ll need a pretty good understanding of linear algebra, (discrete) differential geometry and a bit of numerics, depending on the paper. personally i would start with linear algebra...

 

  • Like 4
Link to comment
Share on other sites

Thank you Petz for explanation!

I am interested in math and want learn it. I think I read book about Precalculus and Computer Graphics :D. At Amazon I found many books for Computer Graphics. Can you perhaps recommand a good book I must study?

I have one more question: What is big difference between Precalculus and Computer Graphics. I did think it is perhaps very similar?

Thanks!

Link to comment
Share on other sites

  • 2 weeks later...
On 9/2/2016 at 10:31 PM, petz said:

that´s the reason why i would rather recommend books about computer graphics and not about precalculus in this case.

 

I haven't read it yet, but it was recommended on http://realtimerendering.com book list and it's got good reviews on Amazon.
3D Math Primer for Graphics and Game Development, 2nd Edition
by Fletcher Dunn et al.

As for calculus, there is an old book Calculus Made Easy by Silvanus P. Thompson. Free to download at Project Gutenberg.

If you find KhanAcademy's math lessons too long or just want text instead, check out amazing Paul's Notes. This is by a professor, started intially for his students.

More cool resources:

CodingMath on Youtube. Tightly edited. To the point.
3Blue1Brown on Youtube. More general math. Probably what Igor meant in the original post.
Nature of Code. A book about programming behaviors and forces. Could be an easy first step to understanding how solvers work.
 

Edited by OskarSwierad
  • Like 3
Link to comment
Share on other sites

On 6.9.2016 at 0:39 PM, Igor said:

I have one more question: What is big difference between Precalculus and Computer Graphics. I did think it is perhaps very similar?

well, finally it´s all just math, so basically yes. however, the main difference is not the math itself but how it´s used.
it might help to think about it like this: in houdini you are working mainly with geometry described by discrete data in 3d space and represented by spatial coordinate points, edges and polygons. this is basically what computer graphics is about. it´s about how you generate and modify geometry. precalculus and calculus on the other hand is much more about "pure" math and less about geometry, in other words, the level ob mathematical abstraction is much higher. in calculus you use geometry only to visualize functions and equation. well, it´s a bit simplified but in general i think its true ...
so, if you read a book about computer graphics you´ll find it alot easier to make use of this knowlege in houdini because it´s related to geometry and not to functions. this doesn´t necessarily mean that it´s easier to understand but it´s at least much more direct "transferable" and usable. take for example derivatives. the mathematical formulation for the gradient is very simple and easy to understand but how do you use it on a quad mesh? you won´t find the answer in calculus but most probably you can find it in books about computer graphics. on the other hand, if you don´t know what a gradient is and what it does, it´s maybe not the best thing either....
to cut a long story short, if you really want to know how and why things work like they do, and i assume thats the case, read both books in parallel.

 

On 6.9.2016 at 0:39 PM, Igor said:

Can you perhaps recommand a good book I must study?

thb, i didn´t read one for some time, so i leave this to others.

the links by oskar seem to be quite good.

 

hth.

petz

  • Like 2
Link to comment
Share on other sites

The trick here that without the abstract/theory part, maths becomes just a 'trade' skill - you can't check the function. That works for some, but if you are really interested in how it works you can't go any more axiomatic than the algebra of the geometric interpretation. 

Link to comment
Share on other sites

  • 1 month later...

After very good advise from you guys I now read book about Precalculus and Computer Graphics. I did know before what gradient of scalars is but now I do understand much better. I understand to calculate Partial Derivatives to get gradient and did try to implement in Houdini. I use Central Difference Method and it work for flat and axis aligned grid but same method does not work for freeform mesh. After advise from petz I did search in Computer Graphics and Internet but did not find good method how it work.

I know about Polyframe-SOP but I want to learn myself how to compute gradient. Could you maybe give me good link or tip how to implement gradient in Houdini?

Thanks!

Link to comment
Share on other sites

take a look at the attached file. there are three different versions how you could do it in vex. the first one is conceptually the most interesting and demonstrative one, the second is the most accurate one and the last is the most flexible one ...

gradient.hipnc

hth.

petz

Edited by petz
reuploaded file
  • Like 2
Link to comment
Share on other sites

4 hours ago, Igor said:

@petz Can you please check File because it has Problem with download!

Thank you! 

 

sorry, didn´t notice that downloading the file doesn´t work. i just tried to upload it again but now it seems this doesn´t work either. it´s most likely the same problem as described here:

http://forums.odforce.net/topic/27956-cannot-attach-files-or-images/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...