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

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

Тема в разделе "MAXScript", создана пользователем jleHa, 13 дек 2009.

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

    jleHa Пользователь сайта

    С нами с:
    12.12.2009
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    2
    я 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[i]=undefined) then
    (
    c[k]=cylinder radius:0.1
    c[k].wirecolor=[255,20,255]
    c[k].pos=[x[i],y[i],z[i]]
    c[k].height=l
    c[k].dir=dir
    )
    else
    at time n c[k].pos=[x[i],y[i],z[i]]

    )
    )
    )
    )[/i][/i][/i][/i][/i][/i][/i]
     
  2. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Начни отладку с чтения файла
    В строке где прописан путь к файлу нужно удвоить каждый слэш, поскольку прямой сдеш в строке является системным символом действие которого зависит от ледующих за ним символов.
    Либо можно использовать обратные слэшы.

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

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

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