Knight school Ответов: 1

Рендеринг STL-файла (алгоритм художника или градиентное наслоение)


Я сделал способ преобразования STL-файла (простая строка, удаляющая точки) в графические пути (треугольники), которые отображаются на экране как каркас, но я хотел бы скрыть/закрасить покрытую/скрытую поверхность. Просто заполнение треугольников просто дает вам тень, и если вы наложите каркас, то получите все скрытые линии. После предыдущего поста, где Ральф Мейер показал мне алгоритм художника. Из которых я не понимал, как применять, но понимал принцип/

Вот тут-то мне и становится интересно, но трудно понять, в какую сторону двигаться дальше.

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

Что я уже пробовал:

'STLPaths are an arry of graphicspaths (i.e. triangles)

  Dim Fill_Reg As New Region
                Dim count As Integer = 0
                For Each Paths As GraphicsPath In Mill_Paths
                    If count = 0 Then
                        Fill_Reg = New Region(Paths)
                    Else
                        Fill_Reg.Union(Paths)
                    End If

                    count += 1

                Next

                g.FillRegion(New SolidBrush(Color.LightBlue), Fill_Reg)


For Each Paths As GraphicsPath In STLPaths
                    g.DrawPath(New Pen(Color.White, 1), Paths)
                Next

1 Ответов

Рейтинг:
2

Patrice T

Не решение вашего вопроса, а просто совет:
Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.

'STLPaths are an arry of graphicspaths (i.e. triangles)

Dim Fill_Reg As New Region
Dim count As Integer = 0
For Each Paths As GraphicsPath In Mill_Paths
	If count = 0 Then
		Fill_Reg = New Region(Paths)
	Else
		Fill_Reg.Union(Paths)
	End If

	count += 1

Next

g.FillRegion(New SolidBrush(Color.LightBlue), Fill_Reg)


For Each Paths As GraphicsPath In STLPaths
	g.DrawPath(New Pen(Color.White, 1), Paths)
Next

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]


Knight school

Извиняюсь. Я вставил текст прямо из VS и сделал некоторое редактирование, чтобы попытаться сделать его ясным.

Спасибо за ссылки. Я еще не использовал Ultraedit, так что я дам ему попробовать.

Patrice T

Обратите внимание, что Ultraedit-это коммерческое программное обеспечение, ant Botepad++ является бесплатным.