Набор алгоритмов поглощения газов

Вы можете использовать функцию sub() из модуля RegEx для сопоставления нежелательных символов и форматирования входной строки. Вот подтверждение концепции, которая дает желаемый результат. Вы можете проверить это здесь: https://repl.it/@glhr/regex-fun

import re

inputStr = """/**
         * this is comment                this is comment
         * this is comment
         * 
         *      this is comment
         * this is comment
         * 
         * this is comment
         */"""

formattedStr = re.sub("[*/]", "", inputStr) # comments
formattedStr = re.sub("\n\s{2,}|\s{2,}", "\n", formattedStr) # extra whitespaces
formattedStr = re.sub("^\n+|\n+$|\n{2,}", "", formattedStr) # extra blank lines
print(formattedStr)

Вы можете экспериментировать с регулярными выражениями на таких сайтах, как https: / /regexr.com/

7
задан windloud 28 March 2009 в 13:46
поделиться

4 ответа

Это засунуло меня, что большинство ответов до сих пор только обсуждает поглощение газов порядка изображения. Я не совсем уверен для CAD, но в играх поглощение газов запускается в намного более высоком уровне, с помощью деревьев BSP, деревьев в октябре и/или рендеринга портала для быстрого определения объектов, которые появляются в видимом пространстве.

3
ответ дан 6 December 2019 в 23:13
поделиться

В играх поглощение газов сделано позади сцены с помощью одной из двух 3D библиотек: DirectX или OpenGL. Для вхождения в специфические особенности поглощение газов сделано с помощью буфера Z. Каждая точка имеет компонент Z, точки, которые ближе, закрывают точки, которые являются еще дальше.

Алгоритм поглощения газов обычно делается в аппаратных средствах специализированной 3D микросхемой обработки графики, которая реализует функции OpenGL или DirectX. Игровая программа с помощью DirectX или OpenGL потянет объекты в 3D пространстве, и сделать, чтобы библиотека OpenGL/DirectX представила проекцию принятия во внимание сцены и поглощение газов.

5
ответ дан 6 December 2019 в 23:13
поделиться

Слово, на котором необходимо искать, является удалением невидимой поверхности.

Рендеринг в реальном времени обычно использует в своих интересах один простой метод удаления невидимой поверхности: отбор задней стороны. Каждый poly будет иметь "поверхностную нормальную" точку, которая является, предварительно вычисляют на расстоянии набора от поверхности. Путем проверки угла поверхности, нормальной относительно камеры, Вы знали бы, что поверхность отворачивается и поэтому не должна быть представлена.

Вот некоторые интерактивные основанные на флэш-памяти демонстрации и объяснения.

2
ответ дан 6 December 2019 в 23:13
поделиться

Аппаратная пиксельная Z-буферизация является безусловно самой простой техникой, однако в высокоплотных объектных сценах, можно все еще пытаться представить тот же пиксель многократно, который может стать проблемой производительности в некоторых ситуациях. - Конечно, необходимо удостовериться, что Вы не отображаете и текстурируете тысячи объектов, которые просто не видимы.

Я в настоящее время думаю об этой проблеме в одном из моих проектов, я нашел, что это стимулировало несколько идей: http://www.cs.tau.ac.il/~dcor/Graphics/adv-slides/short-image-based-culling.pdf

1
ответ дан 6 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: