# Drawing a double helix in Inkscape

I've seen this How can I create a double helix? question but I am here to ask you how to create a double-helix in Inkscape, instead of illustrator. I have tried to achieve this via creating two sine waves (using the Parametric Curves extension) and doing some cutting and colouring-in from there and this is what I’m at at the moment. After this I would create another sine wave with the opposite vertical orientation (which would be the second helix) and go from there.

This is what I have so far from the sine wave method; see in the first instance where I wanted to colour between the waves, the coloured area would form part of the helix.

I have also tried vectorizing a structure of DNA drawn using Accelrys DS Visualizer and failed pretty miserably: I find it impossible to seamlessly vectorize such complex raster files. See below for the original image if you have the skill to vectorize it in a way you could share with me I'd be more than willing to hear. I would like to know is there any better ways of doing this.

This double helix is the one I obtained using Accelrys DS Visualizer, with later GIMP editing (mostly in an effort to make it easier to vectorize, you may note that the helix backbone is no longer coloured in shades of white like it was originally).

• Should your helix rather be looking as if it was made out of a flat band (as in the linked question) or rather as if it was made out of a solid tube (as in the bottom picture)? Dec 27, 2014 at 1:40
• I don't know what a flat band is. All I want is a decent-looking double helix structure created in Inkscape. I'm not picky as to how it is made. Dec 27, 2014 at 1:52

OK, here we go:

1. Create a rectangle and use Extensions → Render → Function Plotter with these settings:

You can use a finer sampling or a higher (integer) End X value, but the following should hold (with n being a small positive integer of your choice):

[Number of Samples] = [End X] × 4 × n + 1

You should get something like this:

2. Duplicate the sine wave, shift it horizontally (holding Ctrl) and make the duplicate red (for better distinction).

3. Duplicate the red sine and make the duplicate green.

4. Select the green sine and switch to the Edit Path by Nodes mode. Select all nodes fully in the lower half, Break path at selected nodes, select all nodes in the lower half once more and remove them:

5. Ensure that the green path is in front of the black one (press Pos1 while selecting it). Select the green path and the black path and Path → Cut Path. The green path should vanish and your black path should be split into several segments.

6. Select the red path, swich to Edit Path by Nodes mode, select all the uppermost nodes and Break Path at selected Nodes. (We won’t need this until the very last step, but now is the best time to do it.)

7. Activate snapping, Snap nodes or handles and Snap to smooth nodes from the snap panel.

8. Select a black segment somewhere in the middle and switch to the Edit Path by Nodes mode. Select an end point as follows and move it to the adjacent extremum of the red path such that it snaps:

`——————→`

9. Select the deformed path and Make selected segments lines.

10. Repeat with all analogous paths. (Yes, this is repetetory but unless your helix is very long, this is the quickest way.):

11. Select all the black segments and Path → Combine.

12. Repeat steps 3 to 10, exchanging red and black as well as upper and lower in the instructions. (Note that some steps could be skipped as they do nothing now.)

13. Select everything, make the path colour as you desire and use butt caps or round caps for the paths.

14. Use bucket fill between the paths. To make the fill cover everything, temporarily decrease the stroke width of your lines to a very low value and give the fill a stroke in the same colour as the fill.

15. Duplicate your helix, move it horizontally, and colour it as desired.

16. Ungroup and break apart everything. Align all the objects correctly.

• Very detailed answer! Dec 27, 2014 at 14:22

I discovered another way to do it which was easier for me:

2. Use Extensions → Generate from path → Extrude (mode: lines). It automatically makes the straight edges which you need.

3. Delete some nodes which you don't need.

4. Use the bucket tool to add the fill and the helix/spring/ribbon can be realized.

I have been "playing" with this kind of helix lately. I use a PHP library that I developed to generate SVG and the image I generate is SVG. If you talk about straight double helix, the solution is not difficult since it can be generated with my scripts and the helix is based on the mathematical expression:

``````  x = r * cos(t);
y = r * sin(t);
z = k * t;
``````

I also generate plasmid-like DNA helix i.e. circular double helix.