[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 1
  • 1
Модератор форума: Spidy, turBO  
Форум мира Blitz3D » Язык Blitz3D » 3D моделирование, текстуры, библиотеки » Геометрия...
Геометрия...
VirusssДата: Суббота, 20.02.2010, 19:25 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Code
For i=1 To CountSurfaces(cube)
surface=GetSurface(cube, i)
For v=1 To CountVertices (surface)
vertex(i,v,1)=VertexX(surface,v)
vertex(i,v,2)=VertexY(surface,v)
vertex(i,v,3)=VertexZ(surface,v)
Next
Next
file_Export=Wri teFile ("D:\ExportFIle.txt")
WriteString( file_export,"cube1=CreateMesh" )
WriteString( file_export,"for i=1 to" + CountSurfaces(cube))
WriteString( file_export,"surface=GetSurface(cube1, i)")
WriteString( file_export,"For v=1 To CountVertices (surface)")
WriteString( file_export,"For v=1 To CountVertices (surface)")
WriteString( file_export,"AddVertex("+ "surface"+","+vertex(i,v,1)+","+vertex(i,v,2)+","+vertex(i,v,3)+")" - вот тут ошыбка
WriteString( file_export,"Next")
WriteString( file_export,"Next")

пишет что то странное: Mismatched brackets


Сообщение отредактировал Virusss - Суббота, 20.02.2010, 19:45
 
deejexДата: Воскресенье, 21.02.2010, 19:26 | Сообщение # 2
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
1) добавь в конце строки (
2) врит стринг не нуждается в скобках
3) я бы сделал не врит стринг, а врит лине
4) ну когда ты сам будеш решать легкие задачи...

Добавлено (21.02.2010, 19:26)
---------------------------------------------
блин сори не (, а )
Пишу с телефона - отредить пост не могу




 
VirusssДата: Понедельник, 22.02.2010, 07:18 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Пасибо.
Quote (deejex)
4) ну когда ты сам будеш решать легкие задачи...

Все с опытом приходит, а я с геометрией обьектов и записью в файл еще не сталкивался, но обещаю два раза на одни и теже грабли не наступлю. happy

Добавлено (22.02.2010, 07:18)
---------------------------------------------
вот появилась проблемка еще одна...:

Code
For i=1 To CountSurfaces(cube)
surface=GetSurface(cube, i)
For v=1 To CountVertices (surface)
vertex(i,v,1)=VertexX(surface,v)- вот тут вылазит ошыбка
vertex(i,v,2)=VertexY(surface,v)
vertex(i,v,3)=VertexZ(surface,v)
Next
Next
file_Export=WriteFile ("D:\ExportFIle.txt")
WriteString( file_export,"cube1=CreateMesh" )
WriteString( file_export,"for i=1 to" + CountSurfaces(cube))
WriteString( file_export,"surface=GetSurface(cube1, i)")
WriteString( file_export,"For v=1 To CountVertices (surface)")
WriteString( file_export,"AddVertex("+ "surface"+","+vertex(i,v,1)+","+vertex(i,v,2)+","+vertex(i,v,3)+"")
WriteString( file_export,"Next")
WriteString( file_export,"Next")

пишет что то вроде Vertex Index out of range!
 
deejexДата: Вторник, 23.02.2010, 06:18 | Сообщение # 4
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Code
surface=GetSurface(cube, i)
Dim vertex(CountSurfaces(cube),CountVertices(surface),3)

file_Export=WriteFile ("D:\ExportFIle.txt")  
WriteLine file_export,"cube1=CreateMesh()"
WriteLine file_export,"For i=1 To" + CountSurfaces(cube)

For i=1 To CountSurfaces(cube)  
WriteLine file_export,"surface=GetSurface(cube1, i)"
WriteLine file_export,"For v=1 To CountVertices(surface)"
For v=1 To CountVertices(surface)
vertex(i,v,1)=VertexX(surface,v)
vertex(i,v,2)=VertexY(surface,v)
vertex(i,v,3)=VertexZ(surface,v)
WriteLine file_export,"AddVertex("+ "surface"+","+vertex(i,v,1)+","+vertex(i,v,2)+","+vertex(i,v,3)+")"
Next  
WriteLine file_export,"Next"  
Next  
WriteLine file_export,"Next"

но это не будет работать в качестве функции, если хочеш чтоб это была функция - в самом начале кода напиши

Code
Dim vertex(256,2^24,3)

и убери
Code
Dim vertex(CountSurfaces(cube),CountVertices(surface),3)




 
VirusssДата: Вторник, 23.02.2010, 10:48 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Я ведь выложил не весь код, а токо часть с ошыбкой, deejex, ты не могбы просто сказать что я неправильно написал?Только ошыбки и все.
Quote (deejex)
но это не будет работать в качестве функции, если хочеш чтоб это была функция - в самом начале кода напиши CodeDim vertex(256,2^24,3)

эээ это зачем? Оно принемает токо константы? Блин а если эти величины не одинаковы а дожны зависеть от переменны, как быть?Там ведь сюрфэйсы, я тут про куб написал а вообще если произвольная модель...как тогда писать?
 
deejexДата: Вторник, 23.02.2010, 11:12 | Сообщение # 6
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
нет, массивы принимают не только константы, просто массив нельзя удалить/пересоздать

Code
Dim vertex(256,2^24,3)
...
surface=GetSurface(cube, i)   

file_Export=WriteFile ("D:\ExportFIle.txt")    
WriteLine file_export,"cube1=CreateMesh()"   
WriteLine file_export,"For i=1 To" + CountSurfaces(cube)   

For i=1 To CountSurfaces(cube)    
WriteLine file_export,"surface=GetSurface(cube1, i)"   
WriteLine file_export,"For v=1 To CountVertices(surface)"   
For v=1 To CountVertices(surface)   
vertex(i,v,1)=VertexX(surface,v)   
vertex(i,v,2)=VertexY(surface,v)   
vertex(i,v,3)=VertexZ(surface,v)   
WriteL ine file_export,"AddVertex("+ "surface"+","+vertex(i,v,1)+","+vertex(i,v,2)+","+vertex(i,v,3)+")"   
Next    
Next    
WriteLine file_export,"Next"    
WriteLine file_export,"Next"






Сообщение отредактировал deejex - Вторник, 23.02.2010, 11:15
 
Форум мира Blitz3D » Язык Blitz3D » 3D моделирование, текстуры, библиотеки » Геометрия...
  • Страница 1 из 1
  • 1
Поиск: