Render.ru

помогите пожалуйста!!!

jleHa

Пользователь сайта
Рейтинг
2
#1
я max script стала изучать очень недавно и мне ОЧЕНЬ_ОЧЕНЬ нужна помощь.
задание было такое: создать анимацию 2-х молекул. координаты каждого атома в конкретный момент времени считывается из txt файла с соответствующим названием( 00000.txt 00001.txt ... 00607.txt)

вот что я на этот счет насочиняла,НО не воспринимается undefined и файлы он тоже читать не очень хочет
помогите!!!пожалуйста!!!


x=#()
y=#()
z=#()

s=#()
c=#()

animate on
(
for n=0 to 607 do
(
if (n>=0 and i<= 9) then num="0000"+(n as string)+".txt"
if (n>=10 and i<=99) then num="000" +(n as string)+".txt"
if n>=100 then num="00" +(n as string)+".txt"
filename="e:\\var3\animation\"+num
stream=openfile filename
i=0
while NOT eof stream do
(
i=i+1
x=(readvalue stream)
y=(readvalue stream)
z=(readvalue stream)
)
close stream

for i=1 to x.count do
(
if (s=undefined) then
(
s = sphere radius: 0.40
s.wirecolor = [255,255,0]
s.pos=[x,y,z]
)
else
at time n s.pos=[x,y,z]
)


k=0
for i=1 to x.count do
(
for j=(i+1) to x.count do
(
l=sqrt((x-x[j])^2 +(y-y[j])^2 +(z-z[j])^2)
if (l<=1.6) then
(
k=k+1
dir=[x[j]-x,y[j]-y,z[j]-z]
if (c=undefined) then
(
c[k]=cylinder radius:0.1
c[k].wirecolor=[255,20,255]
c[k].pos=[x,y,z]
c[k].height=l
c[k].dir=dir
)
else
at time n c[k].pos=[x,y,z]

)
)
)
)
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#2
Начни отладку с чтения файла
В строке где прописан путь к файлу нужно удвоить каждый слэш, поскольку прямой сдеш в строке является системным символом действие которого зависит от ледующих за ним символов.
Либо можно использовать обратные слэшы.

В условиях проверка на равенство записывается как удвоенное равно ==, иначе это оператор присвоения.

PS.
Где нынче обучают cкрипту ?
можеш в личку ответить
 
Сверху