Nano Hash - криптовалюты, майнинг, программирование

[MATLAB]: Как мне математически и визуально воспроизвести 3D-поверхность нового «Западного зала» Кингс-Кросс?

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

Я хотел бы развить свое понимание математических трехмерных поверхностей. Мой личный проект состоит в том, чтобы создать трехмерную поверхность/график структуры вестибюля в MATLAB.

Я нашел ссылку с хорошими фотографиями его геометрии здесь. Я не ожидаю получить его на 100% идеально, но я хотел бы приблизиться!

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

Любая помощь будет очень высоко ценится!


  • Я не уверен, какова цель - вы вручную алгебраически моделируете функцию поверхности с изображениями в качестве эталона или ищете метод компьютерного зрения, который может вывести трехмерную структуру из изображений? Во втором случае, если вы знаете (или можете приблизительно) расположение и ориентацию камеры на каждом из изображений, вы можете попробовать фотометрическое стерео. У него есть некоторые ограничения, но теоретически он может работать. 29.10.2012
  • Спасибо за ваш комментарий! Возможно, мне следовало изначально включить то, что я хочу сделать после получения правильной геометрии (в случае декартовой функции 3D-поверхности) — спроецировать набор точек (x, y) по вертикали (z) на 3D-поверхность. Полагаю, я думал о вашем первом решении... но ваше второе решение звучит весело! Но в основном мне нужна математическая модель/определение структуры, которая позволила бы мне аккуратно программировать в MATLAB. Ради интереса... мой следующий шаг - использовать генетические алгоритмы для создания другой структуры, повторяющей ту же форму! 30.10.2012

Ответы:


1

Чтобы дать некоторые конкретные советы для MATLAB:

Я бы загрузил изображение «раздела» с веб-страницы, на которую вы ссылаетесь, и отобразил бы ее в окне рисунка MATLAB. Затем вы можете попробовать рисовать линии поверх, пока не найдете ту, которая хорошо подходит. Итак, вы можете сделать что-то вроде:

A = imread('~/Desktop/1314019872-1244-n364-1000x707.jpg');
imshow(A)
hold on
axis on

%# my guess at the function - obviously not a good fit
x = [550:900];
plot(x, 0.0001*x.^2 + 300)  

введите здесь описание изображения

Конечно, вы можете захотеть переместить исходную позицию или обрезать изображение и так далее.

В качестве, возможно, лучшей альтернативы этому методу проб и ошибок вы можете проследить контур раздела (например, щелкая по точкам чем-то вроде ginput), а затем используйте один из инструменты подбора кривой (например, fit< /a>), чтобы подогнать функцию к данным.

Окончательная 3D-форма выглядит (на первый взгляд) как 3D-вращение формы сечения вокруг центральной оси. Поэтому использование цилиндрической системы координат может быть хорошей идеей. .

Окончательное построение вашей трехмерной формы можно выполнить с помощью такой функции, как surf или mesh.

29.10.2012
  • Мое ближайшее соответствие на данный момент представляет собой логарифм минус линия плюс квадрат плюс гаусс; y = 33*log(x) - 1.0*x + 0.00162*x**2 + 24.*2.71**(-(x-145)**2/(80.**2)) с 0,0 в крайней левой точке кривой. 29.10.2012
  • Спасибо Билл. Я новичок в большинстве функций MATLAB, так как знаю только те немногие, которые использовал раньше. Думаю, моя главная проблема в том, что я не знаю, какие инструменты есть в моем распоряжении. Ваш вклад очень помог мне в этой области. Я согласен с тем, что цилиндрическая система координат — это то, что нужно. Проблема с формой этого зала заключается в том, что его основание вращается только вокруг очень маленького участка полукруга, а его вершина вращается вокруг полного полукруга (имеет ли это смысл!?). Вы можете заметить, что элементы основания прикрепляются к земле почти по прямой линии, а не полукругом. 30.10.2012

  • 2

    Я бы начал с определения функции, которая определяет для каждой координаты x, y, существует ли точка z, и если да, то с какой высотой.

    Форма напоминает мне немного бревно или квадратный корень.

    29.10.2012
  • Функция для восстановления на самом деле просто 1D, y = f (x), где x - расстояние от центра. Затем функция может быть наложена вокруг вертикальной оси. чтобы получить форму крыши. 29.10.2012
  • Спасибо Junuxx за то, что потрудились подогнать кривую поперечного сечения. Это большая помощь. Я согласен, что он должен быть выточен вокруг вертикальной оси (я немного поэкспериментировал, используя SketchUp, просто для развития идей). Проблема в том, что это не простой полукруг в основании... т.е. он, кажется, больше вращается в верхней части кривой и меньше в основании. 30.10.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..