1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Есть ли какой-нибудь Script для 3dmax что бы создавать фрактальные формы?

Тема в разделе "MAXScript", создана пользователем SAS_RUS, 3 янв 2012.

Модераторы: Savin Denis
  1. SAS_RUS

    SAS_RUS Активный участник

    С нами с:
    14.11.2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    Как в 3Dmax можно создать фрактальную фигуру? Можно ли написать какой нить script для этого что бы например тыкнул на фигуру и по ней создалась фрактальная структура?
     
  2. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
  3. SAS_RUS

    SAS_RUS Активный участник

    С нами с:
    14.11.2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    хоть какой нибудь алгоритм фрактала, например пирамида, состоящая из таких же пирамид при чем эти пирамиды выстраивают более большую пирамиду и в таком духе... но что бы это был скрипт который будет создавать такой фрактал из любой фигуры.
    Например Script: который на отслеживает грани фигуры и на них наслаивает уменьшенные копии этой фигуры и таким образом получается некий фрактал.
     
  4. maiden666

    maiden666 Знаток

    С нами с:
    06.04.2010
    Сообщения:
    3.094
    Симпатии:
    87
    Баллы:
    74
    И после 10-й итерации система у тебя зависнет
    в книге "Deconstructing the elements with 3ds max" есть урок по созданию изморози на стекле, это тоже фрактал, причём без всяких формул, а как в природе, берётся PFlow, частицы случайным образом сталкиваются, размсножаются и происходит процесс кристаллизации, если у тебя суперкомпьютер, можешь повторить
     
  5. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Это что задание в институте ?
     
  6. maiden666

    maiden666 Знаток

    С нами с:
    06.04.2010
    Сообщения:
    3.094
    Симпатии:
    87
    Баллы:
    74
    пфе, алгоритм там очень простой, я делал программку на паскале(для 2д-фракталов, конечно) а подгонять его под конкретные нужды - типа строить пирамидки, никто не станет, надо учить скрипты, наверное, и самому...
     
  7. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Набросал скрипт для простейшего случая - размножает объекты по вершинам с заданной глубиной рекурсии.
    Дальше сами поиграйтесь с настройками а алгоритмами.

    Код:
    fn getVNormal obj vnum =
    (
    	local vertFaces = polyOp.getFacesUsingVert obj (#{vnum})
    	local tNormal = [0,0,0]
    	for i in vertFaces do tNormal += polyOp.getFaceNormal obj i
    	return (tNormal / vertFaces.numberSet)
    )
    fn objFractal obj scaleFactor isOrient depth =
    (
    	if depth < 1 do return true
    	local num = polyop.getNumVerts obj
    	for i = 1 to num do
    	(	
    		local obj2 = copy obj
    		local pos = in coordsys world polyop.getVert obj i
    		local normal = if isOrient == true then getVNormal obj i else [0,0,1]
    		obj2.wirecolor	= obj.wirecolor
    		obj2.scale = 	obj.scale * scaleFactor	
    		obj2.pos = pos
    		obj2.dir = normal	
    		objFractal obj2 scaleFactor isOrient (depth - 1)
    	)
    )
    
    obj = $
    depth = 4
    scaleFactor = .5
    isOrient = false
    obj = convertToPoly obj
    objFractal obj scaleFactor isOrient depth
    
     
Модераторы: Savin Denis

Поделиться этой страницей