Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода - [12]
>def run(origin):
> sphere = createIcoSphere(origin)
> lat = createLattice(origin)
> # Создание модификатора решётки
> mod = sphere.modifiers.new('Lat', 'LATTICE')
> mod.object = lat
> mod.vertex_group = 'Upper'
> # Решётка в режиме редактирования для лёгкого деформирования
> bpy.context.scene.update()
> bpy.ops.object.mode_set(mode='EDIT')
> return
>if __name__ == "__main__":
> run((0,0,0))
Эта программа добавляет кривую Безье. Она также добавляет круг Nurbs, который используется как bevel-объект.
>#----------------------------------------------------------
># File curve.py
>#----------------------------------------------------------
>import bpy
>def createBevelObject():
> # Создание Bevel-кривой и объекта
> cu = bpy.data.curves.new('BevelCurve', 'CURVE')
> ob = bpy.data.objects.new('BevelObject', cu)
> bpy.context.scene.objects.link(ob)
> # Настройка некоторых атрибутов cu.dimensions = '2D'
> cu.resolution_u = 6
> cu.twist_mode = 'MINIMUM'
> ob.show_name = True
> # Координаты управляющих точек
> coords = [
> (0.00,0.08,0.00,1.00),
> (-0.20,0.08,0.00,0.35),
> (-0.20,0.19,0.00,1.00),
> (-0.20,0.39,0.00,0.35),
> (0.00,0.26,0.00,1.00),
> (0.20,0.39,0.00,0.35),
> (0.20,0.19,0.00,1.00),
> (0.20,0.08,0.00,0.35)
> ]
> # Создание сплайна и установка управляющих точек
> spline = cu.splines.new('NURBS')
> nPointsU = len(coords)
> spline.points.add(nPointsU)
> for n in range(nPointsU):
> spline.points[n].co = coords[n]
> # Настройка атрибутов сплайна. Точки, вероятно, должны существовать к этому моменту.
> spline.use_cyclic_u = True
> spline.resolution_u = 6
> spline.order_u = 3
> return ob
>def createCurveObject(bevob):
> # Создание кривой и объекта
> cu = bpy.data.curves.new('MyCurve', 'CURVE')
> ob = bpy.data.objects.new('MyCurveObject', cu)
> bpy.context.scene.objects.link(ob)
> # Настройка некоторых атрибутов
> cu.bevel_object = bevob
> cu.dimensions = '3D'
> cu.use_fill_back = True
> cu.use_fill_front = True
> ob.show_name = True
> # Координаты Безье
> beziers = [
> ((-1.44,0.20,0.00), (-1.86,-0.51,-0.36), (-1.10,0.75,0.28)),
> ((0.42,0.13,-0.03), (-0.21,-0.04,-0.27), (1.05,0.29,0.21)),
> ((1.20,0.75,0.78), (0.52,1.36,1.19), (2.76,-0.63,-0.14)) ]
> # Создание сплайна и установка управляющих точек Безье
> spline = cu.splines.new('BEZIER')
> nPointsU = len(beziers)
> spline.bezier_points.add(nPointsU)
> for n in range(nPointsU):
> bpt = spline.bezier_points[n]
> (bpt.co, bpt.handle_left, bpt.handle_right) = beziers[n]
> return ob
>def run(origin):
> bevob = createBevelObject()
> bevob.location = origin
> curveob = createCurveObject(bevob)
> curveob.location = origin
> bevob.select = False
> curveob.select = True
> bpy.ops.transform.translate(value=(2,0,0))
> return
>if __name__ == "__main__":
> run((0,0,0))
Эта программа иллюстрирует различие между типами кривых: POLY, NURBS и BEZIER.
>#----------------------------------------------------------
># File curve_types.py
>#----------------------------------------------------------
>import bpy
>from math import sin, pi
># Poly (многоугольник) и nurbs
>def makePolySpline(cu):
> spline = cu.splines.new('POLY')
> cu.dimensions = '3D'
> addPoints(spline, 8)
>def makeNurbsSpline(cu):
> spline = cu.splines.new('NURBS')
> cu.dimensions = '3D'
> addPoints(spline, 4)
> spline.order_u = 3
> return spline
>def addPoints(spline, nPoints):
> spline.points.add(nPoints-1)
> delta = 1/(nPoints-1)
> for n in range(nPoints):
> spline.points[n].co = (0, n*delta, sin(n*pi*delta), 1)
> # Безье
>def makeBezierSpline(cu):
> spline = cu.splines.new('BEZIER')
> cu.dimensions = '3D'
> order = 3
> addBezierPoints(spline, order+1)
> spline.order_u = order
>def addBezierPoints(spline, nPoints):
> spline.bezier_points.add(nPoints-1)
> bzs = spline.bezier_points
> delta = 1/(nPoints-1)
> for n in range(nPoints):
> bzs[n].co = (0, n*delta, sin(n*pi*delta))
> print(bzs[n].co)
> for n in range(1, nPoints):
> bzs[n].handle_left = bzs[n-1].co
> for n in range(nPoints-1):
> bzs[n].handle_right = bzs[n+1].co
> return spline
># Создание кривой с объектом и привязка к сцене
>def makeCurve(name, origin, dx):
> cu = bpy.data.curves.new('%sCurve' % name, 'CURVE')
> ob = bpy.data.objects.new('%sObject' % name, cu)
> (x,y,z) = origin ob.location = (x+dx,y,z)
> ob.show_name = True
> bpy.context.scene.objects.link(ob)
> return cu
>def run(origin):
> polyCurve = makeCurve("Poly", origin, 0)
> makePolySpline(polyCurve)
> nurbsCurve = makeCurve("NurbsEnd", origin, 1)
> spline = makeNurbsSpline(nurbsCurve)
> spline.use_endpoint_u = True
> nurbsCurve = makeCurve("NurbsNoend", origin, 2)
> spline = makeNurbsSpline(nurbsCurve)
> spline.use_endpoint_u = False
> bezierCurve = makeCurve("Bezier", origin, 3)
> makeBezierSpline(bezierCurve)
> return
>if __name__ == "__main__":
> run((0,0,0))
Эта программа добавляет путь и обезьяну с ограничением "следовать по пути" (follow path).
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.
РАССЫЛКА ЯВЛЯЕТСЯ ЧАСТЬЮ ПРОЕКТА RSDN, НА САЙТЕ КОТОРОГО ВСЕГДА МОЖНО НАЙТИ ВСЮ НЕОБХОДИМУЮ РАЗРАБОТЧИКУ ИНФОРМАЦИЮ, СТАТЬИ, ФОРУМЫ, РЕСУРСЫ, ПОЛНЫЙ АРХИВ ПРЕДЫДУЩИХ ВЫПУСКОВ РАССЫЛКИ И МНОГОЕ ДРУГОЕ.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.