nickita startcev (nicka_startcev) wrote,
nickita startcev
nicka_startcev

матан. Проверьте, не гоню ли я

комп.графика, три дэ.

Вектор - это три координаты его конца, будем обозначать как (x0,y0,z0) или как А. (координаты с индексами, или заглавная буква по порядку).

(i,j,k) - это типа-направляющие вектора по трем координатным осям, обозначим как ort.

Вектора можно складывать и вычитать тупо покоординатно, для A-B координаты будут (x0-x1, y0-y1, z0-z1).

Вектор можно умножать на число. тоже тупо k*A = (k*x,k*y,k*z).

два вектора можно умножить скалярно A*B = x0*x1+y0*y1+z0*z1 при этом получается число, равное произведению длин векторов на косинус угла между ними, или произведение длины одного вектора на проекцию на него длины другого. Если угол между векторами больше прямого, произведение отрицательно.

Два вектора можно умножить векторно A x B = det(ort,A,B) - получится вектор, перпендикулярный обоим векторам, его направление зависит от порядка следования векторов и выбирается слегка произвольно. Длина - произведение длин на синус угла между. Она же - площадь параллелограмма.
det(а,б,в) - это тупо определитель матрицы с строками а,б,в. Если одна из строк орты - то значит в итоге получаем не число а сумму трех составляющих вектора, точнее, сумму трех проекций на оси, или, опять же, покоординатное разложение вектора.

смешанное произведение трёх векторов det(A,B,C) - это число. два вектора множим векторно, результат множим на третий скалярно. итого выходит ориентированный объём параллелипипеда на 3 векторах. он же - скалярное произведение третьего вектора на векторное произведение первых двух, если повезет с направлением, то будет объём, если нет -- то минус объём параллелепипеда.

тремя точками можно задать плоскость в пространстве. Также ее можно задать двумя векторами из первой точки к второй и третьей, плюс этой первой точкой. назначим верхней стороной плоскости ту сторону, в которую показывает вектор векторного произведения двух сторон.
если скалярное произведение этого вектора на вектор некой точки (точнее, вектор этот нужно вести из той точки треугольника, которую приняли за ноль) положительно, то точка находится над плоскостью. То есть, если плоскость проходит через 0 и задана точками Ъ и Ь, а исследуемая точка Ы, то det(Ъ,Ь,Ы) будет положительным если точка над плоскостью.

если вернуться к исходным координатам (плоскость задана 3 векторами A,B,C) и рассмотреть две точки (D,E), то получим det(B-A,C-A, D-A) и det(B-A, C-A, E-A). Если у них разный знак, то точки по разную сторону плоскости.

Так вот. Меня заметно смущает несимметричность относительно A,B,C этого выражения с двумя детерминантами. кто что скажет по этому поводу?
Subscribe

  • угадай автора

    файл, расширение .txt, размер чуть больше двух ГИГАбайт

  • цитата

    Заебало вот что хренова туча мессенджеров хренова туча соц сетей кто где сидит не разберёшь это как вселиться в дом где все розетки разные берешь…

  • цитата

    [в россии] нельзя оскорблять ветеранов войн последних 300 лет, местных царей за тот же период, а также церковь, в которую они ходят, и их друзей с…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments