Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Wooshum last won the day on August 9

Wooshum had the most liked content!

Community Reputation

37 Excellent

About Wooshum

  • Rank

Personal Information

  • Name
  • Location
    Melbourne, Australia
  1. Houdini for Mathematicians

    I am not sure if this has been posted before but just came across this site: http://wordpress.discretization.de/houdini/ To quote: "This website is here to help you to get started with Houdini in order to complete the Mathematical Visualization course at the Technical University of Berlin. The aim is to enable you to run your own geometry related algorithms while taking advantage of Houdini’s excellent visual graphics while avoiding to dig deep into the theory behind it." There seems to be some great material on here. In particular a unique way of getting scipy/numpy to work with Houdini - apparently you just copy and paste the entire anaconda 2.7 build into the Houdini python directory?! http://wordpress.discretization.de/houdini/home/advanced-2/installing-and-using-scipy-in-houdini/
  2. Prefered Node Color scheme

    Genius, many giggles
  3. Houdini 17 Wishlist

    A full implementation of a weighted straight skeleton operation similar to the one developed by Tom Kelly: https://github.com/twak/campskeleton http://theses.gla.ac.uk/4975/ Roofs, procedural building models, etc. At a SOP level this would be epic, PolyExpand2D with way more functionality
  4. GeoJSON Importer

    Hi All, If you need to work with Geo-Spatial data on a regular basis like I do, you might be interested in the GeoJSON Importer (SOP HDA) that I have started developing. You can grab it from here: https://github.com/danleesmith/HOU_GeoTools Some basic Info on the Importer: Houdini Geographic Tools Custom Python GeoJSON importer Digital Asset for Houdini (HDA). This importer reads GeoJSON files only. GeoJSON is quickly becoming the standard geo-spatial interchange format and can store point, line and polygonal features with associated attributes. The GeoJSON standard can be found here: http://geojson.org/ Limitations This importer only works with projected coordinate systems. An explanation of the difference between projected and geographic coordinate systems can be found here: http://tech.ced.uga.edu/kb/articles/difference-beteween-projected-and-geographic-coordinate-system The importer also requires that any NULL or EMPTY attributes, which are allowable in many GIS systems, are mapped to -9999. This will ensure that when the attributes are written in Houdini they can be stored as either 0 for numbers and '' for strings. NOTE: Polygon/Primitive Holes (known as donuts in GIS) have not been implemented in the importer at this stage. Data Prep To prepare you data and convert your spatial files to GeoJSON I recommend using QGIS: http://www.qgis.org/en/site/ OR if you can get your hands on a licence give FME a go: http://www.safe.com/ Usage This HDA is a SOP based asset. 'GeoJSON File channel' is used to point to the desired GeoJSON File for importing. If you want to import many GeoJSON files in the right location relative to each other just drop down a new Import GeoJSON node, toggle on 'Use Reference Features' and point the 'Reference Features' channel to the desired Import GeoJSON node. The attached images show the Importer in action. I hope you find this useful and please send through any suggestions you have!
  5. Differential curve growth

    Hi All, Just wanted to share my explorations on this theme. This thread has given me the push to explore a couple of coral growth papers I have been interested in for quite a white, particularly this one: http://www.sciencedirect.com/science/article/pii/S0022519304000761 After playing around with some of the setups on this thread I built a solver based that is a bit of a mutant space colonization system - in that the coral grows towards a food source. This means you can drive the simulation to fill objects and makes it controllable from an artistic perspective. I have attached the HIP if anyone wants to play. Dan. HOU_CoralGrowth_v1.hipnc
  6. Thanks for that Alex. Looks like Houdini 15.5 is bundled with Python 2.7.5 (October 2015) - will install as the system version and give it a go.
  7. Hi All, When using external python modules from a python operator I usually use: import sys pyModPath = node.parm('pyModPath').eval() sys.path.append(pyModPath) This works perfectly for pure python modules but I am having issues with modules that require compiled external dependencies, in particular i am needing to use the pyproj module: https://pypi.python.org/pypi/pyproj? I have tried using a precompiled python wheel when installing through PIP but it still throws an error that the DLL could not be found in HOU (have double checked that I am using and installing for 64bit). I am typically installing the pip modules in the root Python27 folder and linking to the 'Lib\site-packages' folder in that directory (for pyre python I can link to modules anywhere). Unfortunately I am stuck using Windows at the moment. As a note: when using the pyproj module outside of Houdini (through the command line) it works fine. Does anyone have any tips / suggestions how to get these compiled modules functioning within HOU?
  8. Selective Edge Offsets & Procedural Edge Groups

    @f1480187 thank you for your solution - much more elegant than where I was heading with this! I was playing around with PolyExpand2D earlier on but got sidetracked with a VEX implementation! Quick question regarding PolyExpand2D: In the cases that the 'offsetscale' attribute is 0 how can I ensure that the actual offset is 0? For the offset value I have tried the expression if(ch("localinsidescale") == 0, 0, 1) but this does not seem to work in this instance.
  9. Hi All, I am taking small steps at rebuilding and improving upon some of the functionality of ESRI CityEngine within Houdini. One of the most important functions is the ability to apply 'planning setbacks' to property boundaries (see image below). From a modeling point of view this requires the ability to offset the poly from selective edges only and a way of keeping track of what each edge of the poly represents, i.e.: is the edge a street, side or rear frontage? I have been able to work out a method off applying the selective edge offsets using VEX (see attached ZIP that includes HIP and BGEO) but am struggling to find the best method of defining the edge types in a procedural way. Given this problem does anyone have suggestions for the following: Is there a way of being able to track poly edge groups in the event of the point numbers changing (points being added or removed)? Is there a way / work around to be able to procedurally defining edge groups? One of the areas most of this work is pushing me towards is the application of poly straight skeletons which is a bit daunting at the moment! I have found a really good thesis on poly skeletons here though: http://theses.gla.ac.uk/4975/ Thanks for any help you can provide! Cheers! Lot_Setbacks_Problem.zip
  10. Vector Intersection in VEX

    Thanks for the tip @acey195 and @petz thanks for the solution. Here is the quick VEX snippet that I tested, works a treat! // Get Lines vector A = point(0, "P", 0); vector B = point(0, "P", 1); vector C = point(1, "P", 0); vector D = point(1, "P", 1); // Calculate Line Vectors vector AB = B-A; vector CD = D-C; // Calculate To Vector vector toVec = A - C; // Calculate Intersection vector vecx = cross(AB, CD); float val1 = dot(vecx, cross(CD, toVec)); float val2 = dot(vecx, vecx); vector pos = A + (val1 / val2) * AB; addpoint(0, pos);
  11. Vector Intersection in VEX

    I have been losing my mind a little on this one: I am wanting to find the intersection point of two vectors in VEX (i.e. a version of the simplified Curvesect SOP). The goal is to implement this through and Attrib Wrangle node. At this stage I have tried implementing the solutions to the problem presented on the following forums but they are suited to 2D: http://stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-segments-intersect http://math.stackexchange.com/questions/406864/intersection-of-two-lines-in-vector-form This should be a trivial solution but I have been way off the mark with my attempts. Any help is much appreciated! vector_intersection.hip
  12. Differential curve growth

    Hey guys this thread is awesome! I have been collecting research on topics like this every now and then for a while but never had the full set of skills to implement. Your scene files are a great help. If anyone is feeling suitably adventurous you should check out this journal article on modelling coral growth under the influence of hydrodynamics: http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002849 Thanks to PLOS the full-text article and PDF are free to read and download. This forum is the greatest!
  13. eetu's lab

    Mate a video tutorial on the quaddel growth stuff would be epic! It is also good to see someone from this forum cracking the architecture establishment; VFX skills are so transferable among many different industries - architecture being one of them. I currently work in urban research and design and am trying to get houdini up and running in our office!
  14. Random link of interest

    DNEG have an article up on their website with clips: www.dneg.com/dneg_vfx/blackhole/ If you get a chance to read the actual paper it is amazing and mind boggling - also gives specific mention to the use of Houdini and Mantra in rendering close-ups of the accretion disk
  15. Random link of interest

    More awesome work by Deskriptiv, this time in Collab with MIT: http://www.creativeapplications.net/objects/wanderers-digitally-grown-3d-printed-wearables-that-could-embed-living-matter/ I am pretty sure that one of the guys from Deskriptiv is part of the odforce community; if so congrats! Truly inspirational work!