Недостаток матрицы
Алексея К. состоит в том, что вектор

должен быть нормирован (что, впрочем, легко исправить)
Gordmit,
я нисколько не возражаю против наличия недостатков в моём решении (сам их обсуждал), но только не в том, что Вы написали. Это не более чем упрощение нотации, которое лишь стоило пометить другими буковками типа

. "Исправлять" его нет никакой нужды; наоборот, любой программист скорее всего использует это, в том числе и при программировании Вашего решения.
Могу вот такую матрицу Вам предложить:

где

,

. В данном случае если

обращается в 0, то это означает, что

, т.е. вектор уже имеет вид

и поворачивать ничего не нужно.
Последнее утверждение неверно: автор ставил задачу так:
Нужно найти унитарную матрицу поворота 3х3, которая бы укладывала этот вектор на ось Х. Т.е. его коодинаты после такого поворота должны стать {r,0,0}, где r - длина вектора.
Стало быть, вектор

должен принять вид

, и "поворачивать ничего не нужно", если вектор уже имеет вид

. То есть мы возвращаемся к тем же баранам, когда надо проверять особый случай. Разрешать особый случай предварительным поворотом с матрицей

об этом я сильно не задумывался. Здесь могут быть какие-то соображения о непрерывности поворотов, которые склонили меня именно к предельной матрице (в Вашем случае она будет другая), но автор этого не требовал, и мне было лень додумывать.
Как, впрочем, всегда лень, (и, похоже, не мне одному) ковырять эти многочисленные (на форуме) задачки с трёхмерными поворотами.
Так что ответ на вопрос автора
Возможно ли в принципе построить такую матрицу поворота, чтобы ее элементы были определены для любого ненулевого вектора?
на мой взгляд, не получен. По-прежнему, требуется особая тщательность вычислений при

, хотя случай, как быть при

в знаменателе, автора почему-то не заинтересовал...
-- 13 июн 2009, 10:31 --По хорошему, здесь бы надо попробовать выразить всё через тангенсы половинных углов, чьи направляющие косинусы есть

, из которых ввиду, наличия нормировочного соотношения, использовать только два (в силу особого статуса оси OX таковыми, видимо, будут

и

), и посмотреть, не сократятся ли потенциальные неопределённости.
А ещё можно подумать, что все искомые матрицы образуют однопараметрическое семейство и поиграть с параметром. Но это уже если пол вымыт, помидоры пропасынкованы, кина посмотрены, и совсем скучно...