Как нарисовать 3D трубку в WPF? - PullRequest
0 голосов
/ 28 декабря 2010

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

Я нашел несколько уроков по 3D, но они слишком сложны, чтобы я мог начать. Надеюсь, что кто-то может начать мое понимание 3D. Было бы здорово, если бы это было возможно, используя только XAML ...:)

1 Ответ

1 голос
/ 28 декабря 2010

Это возможно в основном с использованием XAML, вы создаете объект, представляющий собой трубу длиной 1 и диаметром 1, а затем используете введенные значения для соответствующего масштабирования трубы. Если вы используете шаблон MVVM, вы можете связать текстовые поля, которые пользователь использует для ввода диаметра и высоты, со свойствами в ViewModel, а затем связать матрицы масштабирования с этими значениями.

Для трубы вам понадобятся два набора вершин, обе точки на окружности, например, в. у = 0 и у = 1. Координаты x и z будут cos (угол) и sin (угол) соответственно для угла от 0 до 360 градусов / 2Pi радиан. Чем больше значений вы используете, тем более гладкой будет трубка, 10-15 - хорошая отправная точка. Чтобы труба выглядела более гладкой, вы можете использовать общие нормали, которые будут имитировать более гладкие стороны, изменяя освещение. Нормы для вершины в моем примере выше совпадают с основанием трубы: cos (угол), 0, sin (угол) как для верхней, так и для нижней вершин. Чтобы создать XAML, описывающий эту форму, лучше всего прочитать некоторые 3D-праймеры XAML, чтобы понять, что они делают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...