A method of generating three-dimensional nanostructures that includes
providing a silicon substrate, creating a porous silicon template from
the silicon substrate, wherein the template is created to have a
predetermined configuration, depositing a predetermined material on the
porous silicon template, and removing the porous silicon template from
the deposited material to leave a freestanding nanostructure.