Используйте сегменты для рисования трехмерных осей с тиковыми метками с использованием WPF и C#

В этом примере используются методы, описанные в post Нарисуйте улучшенные 3D-сегменты, используя WPF и C# , чтобы нарисовать 3D-оси с тиковыми метками. Вы можете сделать знаки tic несколькими способами. Вы можете использовать маленькие сферы, кубы, линейные сегменты, коробки. В этом примере используется плоский ящик. (Изобразите ось как полюс с тиковыми метками, представленными коробками для пиццы, расположенными вдоль полюса.)

В следующем коде показан метод расширения AddAxis, который добавляет ось в объект MeshGeometry3D.

Сначала метод вызывает AddSegment для создания оси оси.

Далее код создает вектор с длиной 1 в направлении оси. В первую точку оси он добавляет вектор вдоль оси, длина которой tic_spacing минус половина толщины tic-метки (в этом примере 0,005, но вы можете сделать это параметром). Это дает местоположение первой тиковой метки. (В этом примере не нарисована метка tic на любом из концов оси, но вы можете изменить это, если хотите.)

Теперь код вычисляет количество знаков, которые он должен нарисовать. Он заканчивается путем прокрутки тиковых меток для их создания. Он делает каждую тиковую метку толщиной 0,05 единицы (опять же, вы можете сделать это параметром). Между tic-метками он перемещается вдоль оси на расстояние tic_spacing.

Следующий код показывает, как основная программа делает свою ось X. Аналогично делают другие оси.

Этот код создает новый объект MeshGeometry3D. Он вызывает метод расширения mesh AddAxis, создает для него красный материал и использует сетку и материал для создания объекта GeometryModel3D. Наконец, он добавляет модель в коллекцию Children основной группы модели.

Источник: http://csharphelper.com/blog/2014/10/use-segments-draw-3d-axes-tic-marks-using-wpf-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *