Документация Apple SceneKit предполагает, что матрица преобразования объекта состоит из информации о вращении, положении и масштабе. Однако матрица преобразования представляет собой матрицу 4x4 с последним столбцом 0,0,0,1. Что это за значения и есть ли более подробное объяснение этой матрицы? Например, какие столбцы / строки что представляют, почему здесь 4 строки и для чего нужен последний столбец?
Пример кода:
for t in 0...3 {
print("\t")
for n in frame.camera.transform[t] {
print(String(format: "%10.1f", n),terminator: "");
}
}
Выход:
0.1 -0.7 0.7 0.0
1.0 0.2 -0.1 0.0
-0.1 0.7 0.7 0.0
0.3 -0.1 0.0 1.0





Я почти уверен, что это CATransform3D:
https://developer.apple.com/documentation/quartzcore/catransform3d
Это одна из самых глупых «документов» в истории печально известной глупой документации Apple.
Попробуйте это, с машины обратного пути, когда раньше они хотя бы говорили о вещах немного глубже ... немного: https://web.archive.org/web/20111010140734/http://developer.apple.com/library/mac/#/web/20111012014313/https://developer.apple.com/library/mac/documentation/ Какао / Концептуальный / CoreAnimation_guide / Статьи / Layers.html
m34 - самая интересная из всей матрицы, поскольку ее обычно называют отвечающей за перспектива.
И вот одна из лучших статей, когда-либо написанных о Core Animation, в которой объясняются некоторые аспекты этого преобразования: http://www.thinkandbuild.it/introduction-to-3d-drawing-in-core-animation-part-1/
Боже мой, в последнее время я был так раздражен «документацией» Apple, что заставлял меня съеживаться каждый раз, когда я ее читал. Однако эта версия веб-архива, это полноценная документация, она великолепна. Интересно, что пошло не так с Apple, что они решили отказаться от этого. У новых вообще нет примеров, они публикуют только целые образцы проектов, что совершенно бесполезно, когда мне нужен только один конкретный случай. Спасибо. Также +1 за "глупый" комментарий :)
Примерно в то время, когда они пренебрегли Core Animation, Apple начала делать странные и предположительные со своей документацией и всем, что они делают в отношении разработки программного обеспечения. Ситуация ухудшилась, когда появился магазин приложений, и экспоненциально ухудшилась при Тиме Куке.
Мое предположение: Тим Кук считает себя «инженером из реального мира» и имеет жесткое отношение к «инженерам» программного обеспечения Apple, потому что они не справились с управлением ожиданиями, оценкой, общением и самомотивацией. Все известные проблемы кодеров. Но это не те вещи, с которыми у реальных инженеров есть какие-либо средства или опыт, потому что они самомотивированы и подготовлены в вопросах коммуникации, оценки и управления ожиданиями. Даже дрянные ... или ... особенно дрянные. Разработчики программного обеспечения отступают, когда их подталкивают. Они откликаются, делая меньше всего.
Совершенно верно. Через некоторое время после смерти Джобса я начал чувствовать несогласованность в Apple. Некоторые из их подразделений делают отличную работу, некоторые - отстой, но важно то, что они не могут связать все вместе.
Возьмем, к примеру, iMac Pro. Они много хвастались тем, насколько она «готова к дополненной реальности» и что это больше «производительность на доллар», чтобы якобы привлечь разработчиков. Чего они не понимают, так это того, что примерно% 90 разработчиков / ученых AI&AR не захотят тратить 5000 долларов на продукт, независимо от того, насколько он хорош, особенно пока MacOS и iOS не станут платформой AI&AR., чего не будет, потому что мы не будем покупать iMac Pro. Либо я чего-то полностью упускаю, либо это показывает, насколько они понятия не имеют, что делают.
Я хотел указать на отсутствие общения и ясного видения, как вы, кстати, предлагали. Их команды, работающие над ML, AR и VR, похоже, добиваются хороших результатов, но плохая документация. Их продвижение всего этого процесса также сбивает с толку, потому что как разработчик я понятия не имею, что мне делать с VR от Apple, потому что 1: есть только один ноутбук, который прилично работает с VR, и это максимальный новый мегабайт, и 2: потому что Что касается первого пункта, то о VR от Apple не так много ресурсов, потому что мало кто им пользуется. Они теряют разработчиков, и я думаю, что рано или поздно это сильно ударит
IMac Pro - это нелепо: результат очень плохого решения с «дизайном» мусорного бака Mac Pro и Final Cut Pro X. Вслед за этим, а также из-за неспособности признать ошибки, iMac Pro предлагается в качестве временной меры, и слишком поздно. , предлагая слишком мало за слишком большие деньги. Стоимость iMac Pro составляет не менее 9 тысяч долларов, поскольку он нужен для серьезного визуального и / или аудиопроизводства и дизайна. Однако ни одно из преимуществ обычных рабочих станций (такой цены) не присуще их «дизайну». Попытки превратить элитные рабочие станции в товар не работают. И никому не нужен гениальный IQ, чтобы это увидеть. Но высокомерие шоры.
Кодеры - один из немногих типов пользователей, которым выгодны многоядерные и двухпроцессорные рабочие станции. Остальные - производители контента. Все, кому выгодны CUDA и другие атрибуты карт Nvidia. Тем не менее, Apple больше не предлагает никаких продуктов с интеграцией Nvidia или даже возможности добавления карт Nvidia на борт. Несмотря на все свои недостатки (а их много), Nvidia по-прежнему предлагает гораздо более высокую профессиональную и игровую производительность, чем AMD. Из всех решений Тима решение не предоставлять никаких интегрированных опций Nvidia - самое ужасное в его характере и видении профессиональных пользователей.
Но это решение имеет очень близкое, столь же осуждающее, второе место: отказ от всех возможностей иметь второй ЦП в любой текущей модели Pro Mac во время экспоненциально растущего спроса на электроэнергию. Создание контента увеличивается за счет огромного разрешения, цветового пространства и увеличения точности. Не нужно быть гением, чтобы увидеть, как эта тенденция растет. Создание контента 4K HDR требует как можно большей вычислительной мощности. Конфигурации с двумя процессорами всегда были базовыми рабочими станциями по умолчанию, и Intel наконец-то научилась создавать отличные варианты. И все же Apple без нужды застряла на одном слоте процессора.
Но всему этому предшествует решение устранить единственную реальную, единственную угрозу лидерству Тима, Скотта Форстолла, парня, который отстаивал силу и потенциал программного обеспечения и разработчиков для программистов Apple (и всего мира) через iOS. , App Store и SDK для iOS и (что сейчас) MacOS. Упадок качества и нарастающий уровень ужасности, который представляет собой документация Apple и SDK, можно проследить прямо до настройки и реализации, когда Скотт уволил Тимом, чтобы обеспечить себе надежное положение в качестве главы Apple, компании по производству оборудования и этого который он понимает.
См. en.wikipedia.org/wiki/…