app = Flask(__name__, static_folder='..static/dist', template_folder='../static')
Вышесказанное, вероятно, сбивает с толку, и ..static
не то же самое, что ../static
РЕДАКТИРОВАТЬ : только что взглянул на учебник, который вы связали. Я оставлю ответ, который я написал ранее, ниже, но исправление вышеуказанной опечатки в static_folder='../static/dist
может быть более быстрым решением вашей проблемы.
Лично я бы упростил это, сделав следующее:
server.py
находится в каталоге server
server
: templates
и static
server/templates
dist
, в server/static
[ 1122] Теперь структура каталогов должна выглядеть примерно так:
SimpleApp
└── server
├── __init__.py
├── server.py
├── static
│ └── dist
│ ├── bundle.js
│ └── styles.css
└── templates
└── index.html
Затем просто инициализируйте приложение с помощью:
app = Flask(__name__)
Нет необходимости определять static & amp; каталоги шаблонов здесь, как вы выложили в структуре по умолчанию, которую ожидает Flask.
Попробуйте нажать: http://localhost:5000/static/dist/bundle.js
в браузере и подтвердите правильность загрузки.
Затем обновите шаблон для загрузки этих файлов из правильного местоположения, используя url_for
в шаблоне:
<link rel="stylesheet"
href="{{ url_for('static', filename='dist/styles.css') }}"
>
и
<script type="text/javascript"
src="{{ url_for('static', filename='dist/bundle.js') }}"
>
Если вы регенерируете bundle.js
в позже вам может понадобиться настроить конфигурацию веб-пакета, чтобы разместить его в новом месте.
Существуют тысячи методов. Лучший вопрос определил бы 'лучше всего' более ограниченным способом. Мы говорим 'лучше всего' как в скорости рисования (подходящий для тысяч или миллионов деревьев)? Лучше всего как в выглядящем лучше всего? и т.д.
2D или 3D?
В 2D распространенный способ состоит в том, чтобы использовать L-системы.
Я также попробовал подход OO, определив объекты для соединительной линии, ответвлений, листов, все расширяющие абстрактный класс и реализующий интерфейс Genotype (для варьирования вида деревьев).
Не уверенный, если это эффективно (партия созданных объектов, особенно если я анимирую дерево), но интересный сделать.
Вот пара ресурсов, которые могут быть полезными:
Комбинация OpenSceneGraph и SpeedTree работала на меня.
Если Вы серьезно относитесь к получению красивых, быстрых деревьев, существует коммерческая библиотека SpeedTree C++. Много классных игр использует его (например, GTA, Старшие Прокрутки).
http://www.codeplex.com/LTrees имеет некоторый исходный код на этом. это - C++ все же.
Я знаю о двух библиотеках, которые включают использование OpenGl с Java.
LWJGL (Библиотека Игр Java Легкого веса), какой imo является лучшим из-за его простоты и его подобия использованию opengl с c/c ++.
JOGL, Если Вы хотите смешать компоненты колебания с opengl, это может быть лучшим выбором, я никогда не использовал его, но несколько лет назад он, как было известно, был довольно ошибочен, я не знаю если его зрелое с тех пор.
Что касается рисования деревьев, существует много способов сделать так как другой сказанный плакат, Вы могли бы хотеть быть более конкретными.
править: Я предполагаю, что неправильно понял вопрос немного, о, хорошо: / можно загрузить в 3-й модели дерева и дисплея это.