Что означает запятая в операторе arctan?

Я читал ответы на вопрос о нахождении угла между двумя векторами в трехмерном пространстве. Угол со знаком между двумя трехмерными векторами с тем же источником в одной плоскости. Ответ показан здесь:

atan2((Vb x Va) . Vn, Va . Vb)

это именно то, что мне нужно, но я не понимаю, что такое оператор запятых. Я знаю, что exes и точки являются перекрестными произведениями и точечными произведениями соответственно. Я не думаю, что запятые - это внутренние продукты (то же самое, что и точечные продукты)? Может быть, это синтаксис языка программирования?


person Astronomer    schedule 20.08.2017    source источник
comment
Там нет оператора запятой, это просто функция, которая принимает два аргумента.   -  person harold    schedule 20.08.2017
comment
Это арктангенс y/x с использованием знаков аргументов для определения правильного квадранта, следовательно, двух параметров.   -  person Robinson    schedule 20.08.2017
comment
В отличие от arctan, atan2 принимает два аргумента.   -  person user2357112 supports Monica    schedule 20.08.2017
comment
Означает ли это, что это уравнение ограничено углом в плоскости x, y?   -  person Astronomer    schedule 20.08.2017
comment
Код, который вы разместили, наверняка не является допустимым кодом C++.   -  person Silvio Mayolo    schedule 20.08.2017
comment
FWIW, это не компилируемый код. Вы не можете перегрузить оператор точки (.) для вычисления скалярного произведения двух геометрических векторов. Эта строка представляет собой смесь функции C++ atan2 и математических обозначений, которые не являются допустимым синтаксисом C++.   -  person R Sahu    schedule 20.08.2017
comment
Меня в основном просто интересует математика кода. Можно ли вернуть угол со знаком, учитывая два вектора, используя что-то похожее на приведенную выше форму?   -  person Astronomer    schedule 20.08.2017
comment
Однако вопрос, на который изначально был опубликован фрагмент, не был вопросом C++, и ответ никогда не утверждал, что имеет какое-либо отношение к C++, поэтому неудивительно, что это не компилируемый C++. (atan2 существует на многих языках.)   -  person user2357112 supports Monica    schedule 20.08.2017
comment
arctan() - это функция, а не оператор. Нехорошо публиковать бессмысленный код, а затем спрашивать, что он означает.   -  person user207421    schedule 20.08.2017
comment
Почему этот вопрос помечен как C++?   -  person user2357112 supports Monica    schedule 20.08.2017
comment
Это не бессмысленный код. Я нашел его в другом месте как ответ, получивший наибольшее количество голосов, и разместил здесь, чтобы узнать об ответе. Я не понимаю, почему все пылает.   -  person Astronomer    schedule 20.08.2017
comment
Это бессмысленный код, если вы пометите его как C++. Из того, что я могу сказать из контекста, где вы его получили, это либо код Matlab, либо псевдокод. Таким образом, пометка его как c++ на самом деле тратит время группы экспертов по C++... и заслуживает критики по этой причине.   -  person Stephen C    schedule 20.08.2017
comment
Этот вопрос, должно быть, занял 2 секунды, чтобы прочитать. Если вы не можете позволить себе 2 секунды своего времени, почему вы в сообществе stackoverflow пытаетесь ответить на вопросы? Весь смысл этого сообщества в том, чтобы делиться ответами и помогать друг другу. Кроме того, я работаю над С++, отсюда и тег.   -  person Astronomer    schedule 20.08.2017
comment
Весь смысл этого сообщества состоит в том, чтобы делиться ответами и помогать друг другу. — что не освобождает людей от использования своего здравого смысла при задании вопросов. Тот факт, что люди, как правило, здесь, чтобы помочь, не означает, что вы можете злоупотреблять их доброй волей, тратя впустую их время. И это не дает вам права жаловаться, когда их это раздражает.   -  person Stephen C    schedule 22.08.2017
comment
Кроме того, я работаю над C++ - это не имеет значения. Предполагается, что теги используются для обозначения темы самого вопроса. И в этом случае 1) код явно не С++, и вопрос явно не про С++. По сути, вы использовали тег без причины, которая выдерживает логическую проверку — в отношении того, как теги предназначены для использования. Во всяком случае, вы сказали, что я не понимаю, почему все пылает... и это объяснение.   -  person Stephen C    schedule 22.08.2017


Ответы (1)


Язык (я думаю1) Matlab, а запятая на самом деле является разделителем аргументов (НЕ оператором2) в вызове метода.


1. Это соответствует контексту, в котором вы нашли это выражение, хотя я подозреваю, что автор на самом деле использовал синтаксис Matlab как способ выражения математической концепции.

2 — Согласно https://au.mathworks.com/help/matlab/matlab_prog/matlab-operators-and-special-characters.html

person Stephen C    schedule 20.08.2017