Александр Якушев Активный участник Рейтинг 7 8 июн 2015 #1 start1 = timestamp() obj = snapshotasmesh (Sphere radius:100 segs:200 pos:[0,0,0]) ObjNumFaces = obj.numfaces arrayMeshData = #() --index face, normal, face area, center face --zapishem dannie v massivy for f = 1 to ObjNumFaces do ( VertUseFaces = getFace obj f arVert = #(getVert obj VertUseFaces[1], getVert obj VertUseFaces[2], getVert obj VertUseFaces[3]) append arrayMeshData #(getFaceNormal obj f, meshop.getFaceArea obj f, meshop.getFaceCenter obj f, arVert) ) delete obj end1 = timestamp() format "changecones() took % seconds\n" ((end1-start1)/1000.0) На выходе должен быть массив данных arrayMeshData. У меня получается changecones() took 6.548 seconds.
I igorznag Мастер Рейтинг 103 9 июн 2015 #2 start1 = timestamp() obj = snapshotasmesh (Sphere radius:100 segs:200 pos:[0,0,0]) ObjNumFaces = obj.numfaces arrayMeshData = #() --index face, normal, face area, center face --zapishem dannie v massivy for f = 1 to ObjNumFaces do ( VertUseFaces = getFace obj f v1=getVert obj VertUseFaces[1]; v2=getVert obj VertUseFaces[2]; v3=getVert obj VertUseFaces[3]; arVert = #(v1,v2,v3) a=length(v2-v1); b=length(v3-v1); c=length(v3-v2); s=(a+b+c)/2.0; s=s*(s-a)*(s-b)*(s-c); fa=pow s 0.5 append arrayMeshData #(getFaceNormal obj f, fa, meshop.getFaceCenter obj f, arVert) ) delete obj end1 = timestamp() format "changecones() took % seconds\n" ((end1-start1)/1000.0)
Александр Якушев Активный участник Рейтинг 7 9 июн 2015 #3 Невероятно! Спасибо igorznag! changecones() took 0.777 seconds 😃
Александр Якушев
start1 = timestamp() obj = snapshotasmesh (Sphere radius:100 segs:200 pos:[0,0,0]) ObjNumFaces = obj.numfaces arrayMeshData = #() --index face, normal, face area, center face --zapishem dannie v massivy for f = 1 to ObjNumFaces do ( VertUseFaces = getFace obj f arVert = #(getVert obj VertUseFaces[1], getVert obj VertUseFaces[2], getVert obj VertUseFaces[3]) append arrayMeshData #(getFaceNormal obj f, meshop.getFaceArea obj f, meshop.getFaceCenter obj f, arVert) ) delete obj end1 = timestamp() format "changecones() took % seconds\n" ((end1-start1)/1000.0)На выходе должен быть массив данных arrayMeshData.
У меня получается changecones() took 6.548 seconds.
igorznag
start1 = timestamp() obj = snapshotasmesh (Sphere radius:100 segs:200 pos:[0,0,0]) ObjNumFaces = obj.numfaces arrayMeshData = #() --index face, normal, face area, center face --zapishem dannie v massivy for f = 1 to ObjNumFaces do ( VertUseFaces = getFace obj f v1=getVert obj VertUseFaces[1]; v2=getVert obj VertUseFaces[2]; v3=getVert obj VertUseFaces[3]; arVert = #(v1,v2,v3) a=length(v2-v1); b=length(v3-v1); c=length(v3-v2); s=(a+b+c)/2.0; s=s*(s-a)*(s-b)*(s-c); fa=pow s 0.5 append arrayMeshData #(getFaceNormal obj f, fa, meshop.getFaceCenter obj f, arVert) ) delete obj end1 = timestamp() format "changecones() took % seconds\n" ((end1-start1)/1000.0)Александр Якушев
changecones() took 0.777 seconds 😃