Jump to content

Search the Community

Showing results for tags 'math'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 42 results

  1. Poisson Disk Sampling Help

    Hi guys and girls, I have this condensation on bottle shot I'm working and would love to create a poisson disk distribution with a uniform sample of points based on the area of the triangles in the mesh. I've been looking at the papers written about this but its a liittle bit technical for me at this time. I'm hoping some could maybe look at my file and point me in the right direction to use vex to create this algorithm. Thanks much in advance. poisson_on_bottle_setup.hip
  2. Is there a way to distribute points on a line according to a ramp's density? I'm aware of the scatter node's density input , but that uses a random sample which isn't ideal for my use case.
  3. Math Courses

    Hi everyone! There is someone who took one of these course? Or other courses about math in Houdini? Have you got any advices? Thank you all! http://www.hossamfx.org/math-in-houdini-vol2/ (also vol1) https://www.rebelway.net/math-for-fx/
  4. Math Challenge Lens Shader

    Hello! I am struggling to get what I want from a lens shader. It is somehow a math challenge. Let's see if there is someone who can figure it out... Simple scenario: - Perspective camera looking towards a grid made of 4 points (corners). - I want the camera to render the grid taking each corner as a reference to fill the frame completely with the grid (not more or less). Details: - The grid should be able to rotate on 3 axes and the camera should keep framing it. (So aspect ratio won't do it, since it has some perspective). - I have managed to do it in one axis, but additional axes seem to start acting weird, the results are close but not enough. Since it is math it should be perfect! (I does not have to be foolproof, looking towards the Z direction always and not handling more than 180-degree rotations is ok). Code of my lens shader #include "math.h" #pragma opname lens_shader #pragma oplabel "Lens_shader" #pragma hint x hidden #pragma hint y hidden #pragma hint Time hidden #pragma hint dofx hidden #pragma hint dofy hidden #pragma hint aspect hidden #pragma hint P hidden #pragma hint I hidden cvex anamorphic_lens( //Inputs float x = 0; // X screen coordinate in the range -1 to 1 float y = 0; // Y screen coordinate in the range -1 to 1 float Time = 0; // Sample time float dofx = 0; // X depth of field sample value float dofy = 0; // Y depth of field sample value float aspect = 1; // Image aspect ratio (x/y) //Outputs export vector P = 0; // Ray origin in camera space export vector I = 0; // Ray direction in camera space export int valid = 1; // Whether the sample is valid for measuring //Grid corners converted to camera space vector corner0 = 0; vector corner3 = 0; ) { float xmin_bounds = corner0[0]; float xmax_bounds = corner3[0]; float ymin_bounds = corner0[1]; float ymax_bounds = corner3[1]; float zmin_bounds = corner0[2]; float zmax_bounds = corner3[2]; float new_x = fit(x, -1, 1, min(xmin_bounds, xmax_bounds), max(xmin_bounds, xmax_bounds)); float new_y = fit(y, -1, 1, min(ymin_bounds, ymax_bounds), max(ymin_bounds, ymax_bounds)); // Calculations Z axis in relation to X float offset = min(zmin_bounds, zmax_bounds); float relation_x = (max(zmin_bounds, zmax_bounds)-offset)/min(xmin_bounds, xmax_bounds); if(xmin_bounds > xmax_bounds){ relation_x *= -1; } float relation_y = (max(zmin_bounds, zmax_bounds)-offset)/min(ymin_bounds, ymax_bounds); if(ymin_bounds > ymax_bounds){ relation_y *= -1; } float z = (-relation_x * new_x) + (-relation_y * new_y) + offset; P = set(0, 0, 0); I = set(new_x, new_y, z);
  5. When you have complex ocean spectra layered together using masks with varying speeds, and even animated timescales, retiming them while keeping the same approved look becomes a technical challenge. In this lesson you will see how to achieve this as a procedural post-retime operation, without having to modify any ocean spectra individually.
  6. Question 1 Hi guys/girls, so my issue is I have a branch-like structure growing around a bottle with some fruits being grown out at ends, however I used the findshortestpath node to get the branches to be correct size as they're grown and now the point sorting is all messed up and I was wondering if there is a better way to get correct scaling of branches? Question 2 How can I get the growing plants to offset there growth in time in an orderly manner once copied to the branches. Question 3 Any tips on how to properly generate UVs on the growing structure? I've attach the Hip file, any help would be much appreciated. Thanks in advance. growth_on_bottle_test_01.hip
  7. After more than 5 months of unimaginable amount of work, I am proud to release my first in-depth Houdini course on VEX More details in the video description and the website. Active Patreon members will receive additional discounts proportional to their lifetime support (25% of their lifetime support). Message me on Patreon for your discount coupon. Enjoy! Table of Contents 01 - Introduction [Point Clouds] 02 - Introduction [pcopen() vs pcfind() vs nearpoints()] 03 - Introduction 04 - Implementation 05 - pcfilter() Implementation for pcfind() 06 - pgfind() 07 - pcfind_radius() 08 - Excluding the Current Point & Ad-Hoc Groups 09 - Finding Min & Max Neighbour Points [Unique Pair Matching] 10 - Concept 11 - Implementation [Camera Based Occlusion with Variable Pscale] 12 - Concept 13 - Implementation [Uniform Point Distribution Over Polygonal Surfaces [Point Relaxation]] 14 - Concept 15 - Implementation 16 - Decoupling Operators [Convolution Kernels] 17 - Introduction 18 - Border Handling [Connectivity & k-Depth Point Neighbours Using Edges] 19 - Introduction 20 - Concept 21 - Implementation [Connectivity & k-Depth Point Neighbours Using Primitives] 22 - Concept 23 - Implementation [Extending k-Depth Point Neighbours Using Edges] 24 - Introduction 25 - Concept 26 - Implementation [Extending k-Depth Point Neighbours Using Primitives] 27 - Concept 28 - Implementation [smoothstep() [Cubic Hermite Interpolation]] 29 - Concept 30 - Implementation [Shaping Functions] 31 - Introduction 32 - Implementation 33 - Blurring Attributes [Sharpening Attributes Using Unsharp Mask] 34 - Concept 35 - Implementation [Generalizing the Kernel Code to Handle All Attribute Types] 36 - Concept 37 - Implementation [Attribute Gradient] 38 - Introduction 39 - Concept 40 - Implementation [Gradient Ascent & Descent] 41 - Planar Geometry - Introduction 42 - Planar Geometry - Concept 43 - Planar Geometry - Implementation 44 - 3D Geometry [Contour Lines] 45 - Introduction 46 - Concept 47 - Implementation 48 - Heightfields [Geometric Advection - Orthogonalization & Flowlines] 49 - Introduction 50 - Concept 51 - Implementation [Clustering & Quadtrees] 52 - Concept 53 - Implementation [Adaptive Subdivision] 54 - Introduction 55 - Implementation 56 - Hashing [Adaptive Subdivision] 57 - Improving OpenSubdiv Catmull-Clark Subdivision Surfaces Algorithm 58 - Half-Edges [Adaptive Subdivision] [Aggressive Performance Optimizations] 59 - Eliminating Groups 60 - Custom Fusing In VEX 61 - Recreating Proximity Structures In VEX 62 - Get Unshared Edges In VEX 63 - Final Optimizations [Limit Surface Sampling] 64 - Introduction 65 - OpenSubdiv Patches 66 - Moving Points to the Subdivision Limit Surface 67 - Scattering Points on the Subdivision Limit Surface 68 - Generating a Point Cloud on the Subdivision Limit Surface 69 - Pre-Generating a Point Cloud on the Subdivision Limit Surface 70 - Creating Isolines on the Subdivision Limit Surface [Adaptive Subdivision] 71 - Computing Surface Normals from the Subdivision Limit Surface [Custom Subdivision Surfaces] [Splitting Edges [Edge Divide]] 72 - Concept 73 - Converting Edges to Primitives 74 - Creating New Edge Points [Rebuilding Polygons] 75 - Concept 76 - Implementation 77 - Preserving & Interpolating Attributes 78 - Multithreading by Connectivity 79 - C++ vs VEX 80 - Preserving Groups 81 - Final Optimizations [Implementing Bilinear Subdivision] 82 - Introduction 83 - Concept 84 - Modeling Test Geometry 85 - Starting from Edge Divide 86 - Creating New Face Points 87 - Creating New Edge Points [Creating New Closed Polygons] 88 - Concept 89 - Implementation [Creating New Open Polygons] 90 - Concept 91 - Implementation 92 - Preserving Primitive Groups & Interpolating Primitive Attributes [Preserving Vertex Groups & Interpolating Vertex Attributes for Closed Polygons] 93 - Concept 94 - Implementation 95 - Preserving Vertex Groups & Interpolating Vertex Attributes for Open Polygons 96 - Implementing Iterations 97 - Preserving Literal Groups 98 - Creating Neighbour Primitives 99 - Final Changes 100 - Testing On Complex Geometry [Implementing Catmull-Clark Subdivision] 101 - Introduction [Closed Surfaces] 102 - Rules [Gathering Edge & Face Points] 103 - Concept 104 - Implementation [Computing Weights for New Edge Points] 105 - Concept 106 - Implementation [Computing Weights for Original Points] 107 - Concept 108 - Implementation [Attribute Interpolation] 109 - Concept 110 - Implementation [Boundary Interpolation Rules for New Edge Points] 111 - Concept 112 - Implementation [Boundary Interpolation Rules for Original Points] 113 - Concept 114 - Implementation 115 - Open Surfaces - Handling Corner Points 116 - Handling Non-Manifold Topology [Open Polygons] [Computing Weights for Original Points] 117 - Reverse Engineering OpenSubdiv 118 - Implementation [Computing Weights for New Edge Points] 119 - Reverse Engineering OpenSubdiv 120 - Implementation 121 - Handling Open Polygonal Curves [Handling Mixed Topology] 122 - Full Geometry 123 - Sub-Geometry 124 - Testing On Complex Geometry [Performance] 125 - Profiling [Grouping Boundary Edges from Primitive Group] 126 - Concept 127 - Implementation 128 - VEX vs C++ [Caustics] 129 - Introduction 130 - Sea Caustics 131 - Pool Caustics 132 - Conclusion
  8. Hinged dissection

    The transformation between an equilateral triangle and a square is relatively well known, as it has been widely used as a mathematical puzzle in many hobby books since mathematician Henry Dudeney popularised it in the early 20th century. .Just wondering HOW?
  9. Abstract -Colors-Copy

    Long time ago I got a file from @nosferatu_037 that explain how to achieve this ...can't find the file https://www.flickr.com/photos/deskriptiv/8142630082/in/photostream/ I have 2 files ..normally... found here I just know that he had something different in setup Hm .. can't figure it Out and I know that I have Fun with that file .. How ??? absi.hipnc travernira.hipnc
  10. On Growth and Form

    Ola Peoples! I'm just gonna post my adventure regarding and learning more about organic form and modeling. Have fun , and I hope that someone can help with tips and other Trix in Vex or just enjoying this Topic. Starting model, it's Lily - L-system. Reading ON GROWTH AND FORM BY D’ARCY WENTWORTH THOMPSON Cambridge: at the University Press 1917. This is not for professionally CG artists only for Hobbyist-sss
  11. Need Help with an alternative for( game development gradient) in Vop gradient in Y axis .( version for POINT VOP-s) so that I can build everything in Vop-s. And maybe someone needs this method endless possibility. Houdini 16.5 plus game development gradient.. Thanx CNC_trig_archy.hipnc
  12. hyperbolic tiling

    A shot in the dark here, but has anyone done any hyperbolic tiling in Houdini? The structure is really beautiful but the math is extremely complex, for me at least. Would love to see if anyone has tackled something like this in Houdini
  13. Peter Claes - Youtube channel

    Hi all, As some of you may know I have recently started a youtube channel where I am sharing some techniques, setups and tips. My goal is to first cover some of the fundamental tools/setups and then build more elaborate setups. I wanted to share this with the odforce community too as this community will always have a special place in my heart :). Thank you for watching & have fun learning! The channel: https://www.youtube.com/channel/UCZMPkkgnAFghvffxaTh6CsA My first video:
  14. I wrote an article that is probably only of interest for the .1% It is a crash introduction to HDK, C++ and the mesh laplacian. https://mbaadsgaard.com/portfolio/laplacian-eigenvector-plugin-for-houdini/ Feedback is, of course, also welcome
  15. Finding the Min/Max values in a field?

    I am trying to figure out how to get the converse of a field, mathematically. I am attempting to blur a Cd field in using a Gas Blur microsolver. I have some mixed results, but I want to get some finer control over the radius, namely that I want it to blur more as it slows down. I have used the gas analysis microsolver to get the speed field by taking the length of the velocity, but I can't figure out how to get larger values to be in the lower speed areas. Obviously I would love to use a fit to invert the values, but I am struggling with an elegant way to get the minimum and maximum values for a given field. I could easily just do a loop in a wrangle and get the min/max values that way, but that is going to be extremely slow as this is a very large, dense simulation. Is there a simple way I can get the min/max values in a field so I can use fit(@speed, min, max, max, min) in a Gas Field Wrangle node to get the converse of my field?
  16. clifford torus effect

    Hi every one, I kinda have an idea to create, though not a good one, but wanted to show it here and ask how would you guys go about this effect in Houdini, let me know ur thoughts https://codepen.io/znah/pen/dKdoKW?editors=0010
  17. The Book of Shaders in Houdini Vex

    Hi People! this has a lot of potentials I think sources ---- https://github.com/JosephFiola/BookofShadersHoudiniVex https://thebookofshaders.com Joseph "While Houdini does support GLSL code to render shaders into the viewport, I have not implemented this yet. For now these examples are only visible in the render view using the Ray Tracing render engine." We have examples for 2 and 5 chapters .....if you plug inline-code in CD on Point Vop, you can see everything..and its easy to manipulate.. I am interested to know some process ( Just what to change ) and appreciate help with this. converting rest of some chapters like patterns for example to inline code https://thebookofshaders.com/09/ https://thebookofshaders.com/08/ Thanx
  18. Geodesics in Heat

    Hi everyone! I've made an illustration video-tutorial about the Heat Method application to point clouds by Keenan Crane et al, Yang Liu et al and others.
  19. Hi, As the title says, how, mathematically speaking, can I set points on a curve based on its curvature? What do I need to learn to do this? Trigonometry and derivatives? Thank you
  20. hey guys. simple question which I do not hold the answer to. I have a switch and I want it to switch input number every 50th frame going between 0 and 1. so example would be that for the first 50 frames the active switch value is 0 and then on frame 51 it goes to 1, hold that for 50 frames and then turns back to 0. I need this to be a procedural expression if possible rather than key framing it. Thanks
  21. Hi, I compute the velocity on an animated point and I copy a geometry on it which inherits the velocity but of course is not correct as every point now has the exact same vector. How can I realign the existing velocity in the geometry using vex without having to recompute it? I have attached an example hip. orientvelocity.hipnc
  22. Hello guys, I'm currently a Computer Graphics bachelor student, we are learning CGI but also, Mathematics, Python and C++ some people are very proficient with all these 3 while I'm very proficient in CG but not very strong in these field. I'm very motivated to learn and go deep into these 3 field but I would also like to be efficient in the way I will learn it. ( learning all the mathematics is unfortunately not possible. ) So I would like to know what is your best advice to start learning mathematics and programming to become an FX-TD, based on your own experience or on some experience from other people? Do FX-TD always use programming in the task they are asked for? Any advice, any experience is very much welcome and it would help me a lot.
  23. Didn't you think of these fluid solvers? How are they made? How to build them? We will talk about the theory of the process of building fluid solvers in my new course understanding fluid solvers on MIX Training. This is volume 1, volume 2 soon! http://mixtrn.com/course/understanding-fluid-solvers-volume-1/
  24. A simple question perhaps - I am getting my head around the nodes representing "blend modes" in a shader: One of the most useful blend modes in Photoshop, Mari etc. is Overlay. How do you guys recreate "Overlay" in a node graph where you only have Add, Subtract, Multiply or Divide?
  25. Hi all, I've started putting an asset together which allows me to create multiple 'threads' from a single line, then effect them as if they are fraying/weaving. I'm quite happy with it, however my approach doesn't lend itself well to anything other than straight lines, and I'd like to apply it to more/multiple complex curves - so that it follows their contours exactly. At the moment it does 'work', however it distorts the original curve quite a lot, which I'd like to avoid. Could anyone suggest a way for me to adapt my current VOP setup to calculate the trigonometry per curve? Or an alternative to using the 'wireU' attrib? Or alternatively, if there is a different approach I should be taking all-together? any pointers in right direction would be much appreciated .hip attached - Thanks in advance! (N.B. This setup is loosely based on a thread I originally found here on odforce some time ago - but I cannot for the life of me find it now, so a hat tip goes to OP if reading.) thread_tool_asset_003.hip