Обновить
0
0

Пользователь

Отправить сообщение

Давайте по фактам пройдёмся. Нейронки смогут писать нормальный (фиг с ним, с хорошим) код, когда после его генерации он будет итеративно прогнан через систему его сборки (интерпретации) и валидации выводимых результатов. А этого пока нет. Да и первым языком, с которым это всё будет нормально работать будет питон, который имеет КРАЙНЕ узкий спектр задач, в эффективном решении которых он может принимать участие (давайте не будем это обсуждать). А с Си что делать? А с CUDAй? Ну вот то-то и оно.

Недавно дал самой новой ГПТ простую задачу: «дан список курсовых углов полёта в интервале от 0° до 360°, отсчитывающихся от направления на север по часовой стрелке, что значит, что угол 1° больше, чем 359°; отрицательные углы недопустимы. Напиши программу на C++, которая вычисляет средний курсовой угол предоставленного набора». Сколько бы я ни бился, получить 15 несчастных строк правильного кода мне не удалось. Задача для школьника 11 класса, ей Богу, а тут вон оно что.

Товарищ Торвальдс и опенсорс в своё время хвалил и призывал всех в него влиться, а потом оказалось, что немного другое он имел в виду.

В этом конкретном случае предлагаю не обращать внимания на его «считания», ведь умные мысли преследуют всех, но не только лишь все оказываются быстрее (ауф).

P.S. В комментариях выше также вы можете найти примеры актов переобувки в части отношения к ИИ.

Абсолютно правильно замечание, почему-то, задизлайканное. До Google Android’а не существовало, а теперь они оказываются монополистами просто потому, что всем остальным лень что-то делать и как-то договариваться. На примере с Apple, вон, Epic показала, что МОЖЕТ договариваться и создавать симбиозы, выгодные всем, но сама же нарушила договор, за что Apple предприняла вполне очевидные действия. Epic подала на Apple в суд — ну не смешно ли?

«Зачем программисту микроконтроллеров линейная алгебра» или «как решать задачу способом, для неё не предназначенным» (в данном случае).
Угол между двумя векторами ищется через пару atan2 и одно ветвление. И то, atan2 только в случае, если мы не знаем ориентацию вектора (то есть, если камера смотрела в «ноль» и повернулась на 90°, то нам не нужно выяснять её ориентацию).
Итак. Используется определение полнокругового пеленга — любой угол поворота вектора отсчитывается от «северного» направления по часовой стрелке и имеет значение от 0° до 360°. Пусть мы знаем два угла пеленга векторов А и Б: А = 80°; Б = 280°. Задача: повернуть А к Б:
шаг 1: находим больший угол (это, очевидно, Б);
шаг 2: из большего угла вычитаем меньший — delta = 200°;
шаг 3: если delta <= 180°, значит должен произойти поворот по часовой стрелке на величину «Б-А»; иначе — против часовой стрелки на величину «360° - Б + А».
шаг 4: совершить поворот.
Если же известны только векторы, то с помощью atan2 (со всеми вытекающими в виде прописанных в любых спецификациях ограничений и исключений для этой функции, которые автор решил бахнуть вручную), мы выясняем углы векторов, отсчитываемые от «восточного» направления и прибавляем к по 90°, чтобы привести их к углам пеленга (но это, очевидно, никак не повлияет на результат — просто приведение к радарной терминологии).
Сколько линейной алгебры я использовал? По большому счёту, я, как программист, даже не должен знать как atan2 работает — возвращает полнокруговой угол и спасибо. Какое скалярное произведение — Бог с Вами (расчётов даже больше).

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность