>>
<<
Ркв
Ввд
JfC
LJ
Фрз
Слв
Изм
Рзг
!:
Помощь
Словарь
18. Геометрия
Применение J в декартовой геометрии можно проиллюстрировать, определяя
функции для многоугольников в двух измерениях, вычисляющие вектора
смещения между соседними вершинами, длины сторон,
полу-периметр, и площадь (по формуле Герона).
Здесь мы так же дадим и более общее определение площади,
не только вычисляющее
ее значение со знаком (плюс, если вершины заданы в порядке
против часовой стрелки), но и применимое к многогранникам в пространстве
большего числа измерений (в этом случае имя area
лучше заменить на volume). Это определение основано на вычислении
детерминанта квадратной матрицы, полученной добавлением в конец
таблицы вершин t строки со
значениями %!#t . Тоесть:
(length=: +/&.:*:) 5 12
13
disp=: ] - 1&|."1
sides=: length@disp
semiper=: -:@(+/)@sides
HERON=: %:@(*/)@(semiper - 0: , sides)
area=: -/ . * @ (] , %@!@#)
t=: 0 0 4 ,: 3 4 7
(];(1&|."1);disp;sides;semiper;HERON;area) t
+-----+-----+-------+-----+---------+---------------+--+
|0 0 4|0 4 0| 0 _4 4|0 4 4|0.5 3.5 4|2.29129 0j0.5 0|_2|
|3 4 7|4 7 3|_1 _3 4|1 3 4| | | |
+-----+-----+-------+-----+---------+---------------+--+
tet1=:6 0 3 0,3 6 5 8,:7 4 0 5
tet2=: 0,.=i.3 3
tet1;(area tet1);tet2;(area tet2)
+-------+----+-------+---------+
|6 0 3 0|11.5|0 1 0 0|_0.166667|
|3 6 5 8| |0 0 1 0| |
|7 4 0 5| |0 0 0 1| |
+-------+----+-------+---------+
>>
<<
Ркв
Ввд
JfC
LJ
Фрз
Слв
Изм
Рзг
!:
Помощь
Словарь