Модель по заданной функции

Главная Форумы Python и дополнения Модель по заданной функции

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #35466
    Аватарgolukon
    Участник

    Здравствуйте. Столкнулся с проблемой, которая заключается в следующем: при попытке сделать модель по заданному уравнению значения, которые не входят в ОДЗ, вызывают ошибку. Решил сделать так:
    [code]

    # задаем массив вершин и граней

    verts = []
    faces = []

    # задаем количество квадратных мешей по оси X и Y

    numX = 1000
    numY = 1000

    # массив, в котором хранятся координаты точки
    pr = [0, 0, 0]

    # задаем масштаб

    scale = 1

    # создаются точки какой-нибудь функции

    for i in range (0, numX):
        for j in range(0,numY):
            # диапазон здесь от -2 до 2
            u = 4*(i/numX-1/2)
            v = 4*(j/numY-1/2)

            x = scale*u
            y = scale*v
            try:
                z = scale*(math.log(u-math.cos(u+v)))
                vert = (x,y,z)
                verts.append(vert)
                pr[0] = x
                pr[1] = y
                pr[2] = z
            except:
                vert = (pr[0],pr[1],pr[2])
                verts.append(vert)
            
    # грани

    count = 0
    for i in range (0, numY *(numX-1)):
        if count < numY-1:
            A = i
            B = i+1
            C = (i+numY)+1
            D = (i+numY)
            face = (A,B,C,D)
            faces.append(face)
            count = count + 1
        else:
            count = 0

    # формируем новый меш

    mesh = bpy.data.meshes.new(“fun”)
    object = bpy.data.objects.new(“fun”,mesh)

    # задаем положение ячеек

    object.location = bpy.context.scene.cursor.location
    bpy.context.scene.collection.objects.link(object)

    # создаем меш из данных python

    mesh.from_pydata(verts,[],faces)
    mesh.update(calc_edges=True)

    [/code]
    В данном случае мне не нравится, что изначально при ошибке будет точка с координатами 0, хотя она не обязательно является значением функции, да и просто что точки будут повторяться. Подскажите, пожалуйста, как это лучше всего исправить?

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Для ответа в этой теме необходимо авторизоваться.

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.