Human Circulatory System Model

I am hoping this is reasonable thing to do. I'd like to find a tutorial that let's me add or create a model of the human circulatory system. I have the full body images of the veins, arteries and heart from 6 different angles. I'd like to create a 3D model of this so I can rotate it around as needed.

Is this super ambitious for someone relatively new at 3D modeling?

Thanks,
George
 
Hi georgem1956 and welcome!

It's pretty ambitious, but sometimes a big challenge can help learn. Are you going to use a human model that's already been created, or are you going to try and do that yourself also? There are a bunch of free human models out there if you need a base mesh to start with. Daz3d has some basic free ones (and others you can buy). There's also MakeHuman, which allows you to dial in a human with different settings. Those may be easiest to start with, since they are already set up in a symmetrical A-Pose.

There are a few ways you can go about doing the arteries and veins:
- I'd start by setting up a Blueprint object in C3d. This will allow you to put images in all the different orthographic views you want (Front, Back, Left, Right, etc.). There are a bunch of posts on that here on the forums, but if you get stuck, we can help. Tip: pay attention the aspect ratio of your image. C3d does not automatically read the pixel dimension, so they can come out distorted. Sometimes I just crop my images square to avoid that. Either that, or look up the pixel size and just move the decimal some (i.e. for 1920 x 1080 pixel I would put the size at 1.92 x 1.08 in the size fields).

- Most likely I'd start with drawing splines (vectors) and then use a sweep with a circle. Splines can be more finicky to create and manipulate in 3d apps, so I usually start in Illustrator and then import the splines (you could also use Inkscape or many other vector apps to do this). The biggest issue with that is that it will not have any depth to it, but you can always move points around after you import to put them in the correct position.

- Another approach would be to just box model all of them (Extrude -aka Cover- and then adjust shape and repeat), but the branching of the veins and arteries may be a little difficult. There are some tutorials on creating joined piping on here that can be helpful with that approach.

- Third approach could even be lofting between different sized circles would give even more control.

- There's possibly a script somewhere that may be able to create spline branching automatically, but most likely it wouldn't line up with your blueprint.

There is a member here that does a lot of circulatory system modeling (mostly heart related I think), but he'll probably chime in when he sees this. His name is Helmut. I'm sure he can give a lot of good advice as far as this is concerned as well. You can look for some of his posts as he's done some cardiac modeling and animation. I think he may have even posted some of his scene files for that.

Good luck with your project and let us know if you need any help with any specific tasks. Are you able to share your images here? It's ok if you can't. It can help to see what you are working from though.

Edit:
Threw together a quick example of splines with a sweep (attached). The biggest issue here is where the branches meet.
 

Attachments

  • Vein Artery WIP.jas.zip
    12.5 KB · Views: 350
Last edited:
Hi George
* On a conceptual level, the cardiovascular system (arteries, veins) is a closed system comprised of binary trees connected "at the bottom". Ignoring the biological purpose of it, you can parse this into:
* NODES
1 root node = heart
2 intermediate nodes = bifurcations
3 terminal nodes = organs, muscles, brain
* EDGES
4 connectors = arteries / veins proper and arterioles, capillaries and venoles

* This conceptual binary tree can also be seen as a set of individual subtrees (carotids, upper extremities, kidneys, …) which service individual bodily regions / organs. I am ignoring pulmonary circulation here as it is detached from the somatic circuit, even when it is controlled by the same root node, the heart.

* The primary challenge in this (and any other project related to biological modelling) is to turn concepts into geometry. Preferably, such geometry should be flexible to permit editing and animation.

* Biological modelling seems to be an arcane niche industry. There is surprisingly little material on the web to study and learn. What stuff there is is often academic and paywalled.
* Conventional mesh modelling is largely useless in this area. You will require a fair amount of creative lateral thinking (and cope with some frustration) to get anywhere.

* Basically, it depends how far you want to proceed in biological modelling. For a simple generic model, sticking splines / sweeps together will suffice. If you plan to model the flow of blood cells & nutrients or the complex processes inside a specific organ you will have to deal with more tricky 3D matters to achieve a professional result.

* My recommendations:
* Research
* Build a reference library of 3D models you like
* Analyse samples
* Conduct extensive experiments
* Accumulate your own library of building blocks
* Much of the modelling will be spline based, so investigate the available tools in some detail and practice a suitable work-flow / modus operandi. As mentioned by Swizl, spline manipulation is a bit tricky.

:) Enjoy the project and ask questions whenever needed.
 
Just a side note about this interesting topic (as someone with a life sciences background). I've had the opportunity to try Google's Tilt Brush VR experience, and I can imagine one day being able to draw and manipulate splines in 3D space "by hand" as though you're manipulating a flexible "wire" right in front of you. How cool would that be. :)
 
Hi George
* On a conceptual level, the cardiovascular system (arteries, veins) is a closed system comprised of binary trees connected "at the bottom". Ignoring the biological purpose of it, you can parse this into:
* NODES
1 root node = heart
2 intermediate nodes = bifurcations
3 terminal nodes = organs, muscles, brain
* EDGES
4 connectors = arteries / veins proper and arterioles, capillaries and venoles

* This conceptual binary tree can also be seen as a set of individual subtrees (carotids, upper extremities, kidneys, …) which service individual bodily regions / organs. I am ignoring pulmonary circulation here as it is detached from the somatic circuit, even when it is controlled by the same root node, the heart.

* The primary challenge in this (and any other project related to biological modelling) is to turn concepts into geometry. Preferably, such geometry should be flexible to permit editing and animation.

* Biological modelling seems to be an arcane niche industry. There is surprisingly little material on the web to study and learn. What stuff there is is often academic and paywalled.
* Conventional mesh modelling is largely useless in this area. You will require a fair amount of creative lateral thinking (and cope with some frustration) to get anywhere.

* Basically, it depends how far you want to proceed in biological modelling. For a simple generic model, sticking splines / sweeps together will suffice. If you plan to model the flow of blood cells & nutrients or the complex processes inside a specific organ you will have to deal with more tricky 3D matters to achieve a professional result.

* My recommendations:
* Research
* Build a reference library of 3D models you like
* Analyse samples
* Conduct extensive experiments
* Accumulate your own library of building blocks
* Much of the modelling will be spline based, so investigate the available tools in some detail and practice a suitable work-flow / modus operandi. As mentioned by Swizl, spline manipulation is a bit tricky.

:) Enjoy the project and ask questions whenever needed.
Hello Helmut and Swizl, Thank you for your excellent replies. Looks like a bit of a learning curve....What I really need is a good 3D model of the right arm's venous structures as they appear in the arm (generally, i know it varies from person to person). Our company teaches vascular access at varying levels from PIV to CVADs (mainly PICCs). My part in this is the production of online training modules. Helmut, if you have any interest in creating this we'd be willing to discuss price. Is it ok for me ask this? Not sure, let me know if this is inappropriate.... Anyway, this looks like more of a learning curve than I thought. I'm really starting from the beginning in 3D. Quick learn but still looks a bit overwhelming.

Again, thanks for the reply. Much to think about...

George
 
* Hi George!
* I suggest that you direct this question to Frank Beckmann. His skill and expertise with splines is superior to mine. Frank seems to work very minimally yet with supreme precision end effect due to his extensive experience.
* I do believe that he is not adverse to spending some time on external projects.
* In any case, circulation in the upper and lower extremities is comparatively simple (as compared to the cardiovascular system in the thorax / the abdomen where pulmonary perfusion & half a dozen of organs have to be considered).
* I guess that there needs to be some research on CVCs and related procedures. Presumably, the model will be used to demonstrate PICC details / methods of haemodialyis et al.
 
I had to explore the possibilities, as an ex EMT I always enjoy seeing medical
related projects, although I've never done one myself that I can remember.

I started with a graphic I found of a leg cross section.

More to come...

Leg Section.jpg
 
Hello Helmut, Frank and ZooHead,

Thank you for your suggestions. I checked out the two links you provided, Frank. They look fantastic and have so good possibilities. I'm interested in what more is to come, ZooHead. I'm hoping to apply it to an upper extremity rather than lower.

Thank you all!

Cheers,
George
 
* I will spend some time on the weekend to briefly research the brachial venous system, digital to subclavian, and do some preliminary experiments. I see if I can derive some generic concept / method / work-flow.
* I need some flexible toolbox for tubular subsystems / fibrations anyway, so this is welcome.
* I hope that my research will, at least, explain why there is a cephalic vein located far away from the cephalon. Not being an octopus, I don´t have brains in my limbs (and, possibly, nowhere else, either).
* Ah, I see: Lost in translation, AD 1025, from Avicenna´s Canon and never corrected in 995 years
:unsure::eek::mad:

* If I get anywhere with my experiments, I will publish this as WIP / work-in-progress and you can evaluate the potential usefuleness for didactic purposes in PICC lining et al.
 
I did some testing with splines specifically in regard to branching.

Although a spline can't have branches, the "branches" can be parts of the spline object but disconnected.
When the spline parts are snapped to a point on the main spline, branching can be simulated.

Reducing the diameter of the vessels proves to be more difficult but can be done locally with Taper Modifiers.

Branching Spline.jpg
 
* Yep, the handling of individual sweeps and their smooth transition is a major PITA. No doubt, there is a proper Greek or Latin medical term for this diagnosis :unsure:
* I prefer using the parameter for Scale Sweep but it depends on the topology of the taper and/or bulge.
* This ignores palmar venous arches as they seem to be irrelevant for PICC lining.

SS1.png


SS2.png


SS3.png
 
WIP jas attached.
C3D on board tools only are used :rolleyes:
 

Attachments

  • BrachialVeins 01.jas.zip
    312.1 KB · Views: 337
Systems of tapered branches are ubiquitous in nature, from animal veins to plant roots. Alas, they can only be approximated in C3D. Smooth tube joints can be box modeled with subdivision, but joining two sweeps with separate spline paths requires nudging and tweaking, and the joints are not rounded off. Tapering branches from one end to the other greatly complicates the task. Animation ... no idea.

Splines are probably the best tool, but they are hard for beginners to manipulate. I suggest practicing two particular scripts in case they might be useful. Both were made by Hiroto to make spline creation and adjusting more intuitive.

PolygonToSpline.js is my favorite script, bar none. You can start with a box model which is relatively easy to make and visualize, then derive splines from all or selected edges. These splines are typically used as Sweep paths.

https://www.cheetah3d.com/forum/index.php?threads/13464/post-117994

Controlled Spline.js (with Controlled Spline Tag.js) is great for precisely making and manipulating the control points of a spline with compound curves. Again, the spline is typically used as a Sweep path.

https://www.cheetah3d.com/forum/index.php?threads/13464/post-118002
 
I can't find any good images showing a section of the arm.
Good ones for legs, but arms are not that well represented. :(

It would be the same process with an arm, so I might as well take it a bit further.

Here's a shot showing all the splines I made outlining the fibula and muscles of the lower left leg.

Leg Section 02.jpg


The little known trick to Spline Control and Manipulation:
  1. Make sure the Transform tool is set to Move by selecting a point and clicking on one of the arrows.
  2. Then Deselect the point so you can't see the Transform Tool anymore.
  3. Now hold Option/Shift and click and drag away on any spline point or control handle.
PS: It helps to work in a straight projection like Front or Right.
 
* +1 to Joel
* The edges-to-splines .JS is, indeed, a tool I use frequently as a constructor in biological morphology. It allows me to position splines precisely in 3D space as determined by the vertices & edges of some carefully tailored auxillary mesh.
* Another script I find useful is the Particle-Connector (also by Hiroto; Thank you!). This .JS can also be used with the particle emitter. Combined with variance and divergence you get a flexible expanding network.

* Whenever you need fibrations of interconnected splines (as they exist in the cardiovascular / lymphatic system, in any cluster of neurons but also as galaxy filaments of super clusters on a scale of billions of lightyears in deep space) these scripts are essential.

* As mentioned by Joel, spines can be used as curvilinear axes of sweeps. They can also function as constructors in chains, particle-splines and spline based isosurfaces. If interested, allow some weeks for brainstorming and experimentation :eek::sick::)

Screenshot 2019-12-07 at 10.13.33.png


Screenshot 2019-12-07 at 10.13.49.png
 
I got everything extruded and started making materials and doing some test renders.

I still need to add the main vessels and nerves.

Most time consuming things so far:
  1. Making the splines
  2. Making the materials
All the soft structures look better with rounded edges and the bones look fine hard edged.
For the soft structures make the splines slightly smaller to compensate for the width of the beveled edge.

Leg Section 03.jpg
 
Back
Top