Dim aa As String[]
Dim escludi As String
Dim esclusivo As Integer
Dim Sline as String
' per esempio Sline = "14.6504 31.8927 14.3198 153 155 152"
a = Replace(Sline, "\n", " ")
aa = Split(a, " ", "", True)
escludi = aa[1]
esclusivo = Val(escludi)
|Type mismatch: wanted Integer got Null instead in FMain:295|
' mi servirebbe estrarre 31.8927 e farci un calcolo
CInt(CFloat(escludi))
CFloat(escludi)
La funzione Val(stringa") utilizza la localizzazione
Print IsFloat("1.1")
Print IsFloat("1,1")
ply
format ascii 1.0
element vertex 115680
property float x
property float y
property float z
property uchar diffuse_red
property uchar diffuse_green
property uchar diffuse_blue
element face 0
property list uchar int vertex_indices
end_header
4.06852 32 0.78793 165 167 164
4.06852 32 0.731629 164 166 163
4.01647 32 0.675333 163 165 162
4.06852 32 0.61904 162 164 161
4.01647 32 0.562752 162 164 161
Per primi due numeri cosa intendi? (4.06852 32 ) o altro.Codice: [Seleziona]Tolta l' intestazione dovrei prendere i primi due numeri, convertirli in valori numerici, fare una piccola operazione matematica per traslare, una trigonometrica per ruotare eply
format ascii 1.0
element vertex 115680
property float x
property float y
property float z
property uchar diffuse_red
property uchar diffuse_green
property uchar diffuse_blue
element face 0
property list uchar int vertex_indices
end_header
4.06852 32 0.78793 165 167 164
4.06852 32 0.731629 164 166 163
4.01647 32 0.675333 163 165 162
4.06852 32 0.61904 162 164 161
4.01647 32 0.562752 162 164 161
alla fine aprendo i file in meshlab dovrebbero essere già allineate..
Facile no? :o
No non riesco.. errori, zeri che mancano etc
Sline = Str$(newpointx) & " " & Str$(newpointx) & " " & Resto
NewpointStX = Format(newpointx, "-##.#####")
Sline = Str$(newpointStX) & " " & Str$(newpointx) & " " & Resto
Per primi due numeri cosa intendi? (4.06852 32 ) o altro.
Errori...quali?
Zeri che mancano...dove?
etc...cosa?
esempio;D ...ma a noi che ci può significare ? :rotfl:
questa:Codice: [Seleziona]mi da:Sline = Str$(newpointx) & " " & Str$(newpointx) & " " & Resto
-0,06420395219202 -0,06420395219202 0,1 128 128 128
Mentre:Codice: [Seleziona]mi da:NewpointStX = Format(newpointx, "-##.#####")
Sline = Str$(newpointStX) & " " & Str$(newpointx) & " " & Resto
- ,0642 -0,06420395219202 0,1 128 128 128
e Meshlab non carica..
Public Sub Button11_Click()
Dim alpha As Integer 'angolo
Dim pointx As Float 'x point da spostare
Dim pointy As Float 'y point da spostare
Dim pointz As Float 'z point da spostare
Dim Newpointx As Float
Dim Newpointy As Float
Dim Sinalpha As Float
Dim Cosalpha As Float
Dim NewpointStX As String
Dim NewpointStY As String
Dim X As Integer
Dim Y As Integer
Dim i As Integer
Dim HFile As File
Dim Sline As String
Dim intestazione As String
Dim testo As String
Dim trap As Integer
Dim a As String
Dim aa As String[]
Dim j As Byte
Dim esclusivo As Integer
Dim escludi As String
Dim Resto As String
alpha = 72
HFile = Open "/home/io/Scrivania/cloud_new.ply" For Input
While Not Eof(hFile)
Line Input #hFile, Sline
trap = trap + 1
If Trap < 13 Then Goto loop1
a = Replace(Sline, "\n", " ")
a = Replace(Sline, ".", ",")
aa = Split(a, " ", "", True)
escludi = aa[1]
esclusivo = Val(escludi)
If esclusivo > 20 Then 'Goto loop1
SLine = ""
Else
'''''''''''''''''''''''''''''''''''''''''''''''
pointx = Val(aa[0])
pointy = Val(aa[1])
X = InStr(Sline, " ") 'trovo il primo separatore
Y = InStr(Sline, " ", X + 1) ' il secondo..
Resto = Mid$(Sline, (y + 1))
Resto = Replace(resto, ".", ",")
Sinalpha = Sin(alpha * (Pi / 180))
Cosalpha = Cos(alpha * (Pi / 180))
' qui ci andrà la traslazione
newpointx = (pointx * Cosalpha) - (pointy * Sinalpha)
newpointy = (pointx * Sinalpha) + (pointy * Cosalpha)
NewpointStX = Format(newpointx, "-##.#####")
Sline = Str$(newpointStX) & " " & Str$(newpointx) & " " & Resto
Testo = Testo & Sline & gb.NewLine
i = i + 1
End If
loop1:
Wend
intestazione = "ply\nformat ascii 1.0\nelement vertex " & Str$(i - 6000)
intestazione = intestazione & "\nproperty float x\nproperty float y\nproperty float z\nproperty uchar diffuse_red\nproperty uchar diffuse_green\nproperty uchar diffuse_blue\nelement face 0\nproperty list uchar int vertex_indices\nend_header\n"
TextArea1.Text = intestazione & Testo
File.Save("/home/io/Scrivania/cloud_rot.ply", TextArea1.text)
End
ply
format ascii 1.0
element vertex 115680
property float x
property float y
property float z
property uchar diffuse_red
property uchar diffuse_green
property uchar diffuse_blue
element face 0
property list uchar int vertex_indices
end_header
4.06852 32 0.78793 165 167 164
4.06852 32 0.731629 164 166 163
4.01647 32 0.675333 163 165 162
4.06852 32 0.61904 162 164 161
4.01647 32 0.562752 162 164 161
ply
format ascii 1.0
element vertex 99
property float x
property float y
property float z
property uchar diffuse_red
property uchar diffuse_green
property uchar diffuse_blue
element face 0
property list uchar int vertex_indices
end_header
0,1 0,1 0,1 128 128 128
0,1 0,1 0,1 128 128 128
0,1 0,1 0,2 128 128 128
0,1 0,1 0,3 128 128 128
0,1 0,1 0,4 128 128 128
0,1 0,1 0,5 128 128 128
0,1 0,1 0,6 128 128 128
0,1 0,1 0,7 128 128 128
0,1 0,1 0,8 128 128 128
0,1 0,1 0,9 128 128 128
0,1 0,1 1 128 128 128
0,1 0,1 0,1 128 128 128
0,1 0,1 0,1 128 128 128
0,1 0,1 0,2 128 128 128
0,1 0,1 0,3 128 128 128
0,1 0,1 0,4 128 128 128
0,1 0,1 0,5 128 128 128
0,1 0,1 0,6 128 128 128
0,1 0,1 0,7 128 128 128
0,1 0,1 0,8 128 128 128
0,1 0,1 0,9 128 128 128
0,1 0,1 1 128 128 128
0,2 0,1 0,1 128 128 128
0,2 0,1 0,1 128 128 128
0,2 0,1 0,2 128 128 128
0,2 0,1 0,3 128 128 128
0,2 0,1 0,4 128 128 128
0,2 0,1 0,5 128 128 128
0,2 0,1 0,6 128 128 128
0,2 0,1 0,7 128 128 128
0,2 0,1 0,8 128 128 128
0,2 0,1 0,9 128 128 128
0,2 0,1 1 128 128 128
0,3 0,1 0,1 128 128 128
0,3 0,1 0,1 128 128 128
0,3 0,1 0,2 128 128 128
0,3 0,1 0,3 128 128 128
0,3 0,1 0,4 128 128 128
0,3 0,1 0,5 128 128 128
0,3 0,1 0,6 128 128 128
0,3 0,1 0,7 128 128 128
0,3 0,1 0,8 128 128 128
0,3 0,1 0,9 128 128 128
0,3 0,1 1 128 128 128
0,4 0,1 0,1 128 128 128
0,4 0,1 0,1 128 128 128
0,4 0,1 0,2 128 128 128
0,4 0,1 0,3 128 128 128
0,4 0,1 0,4 128 128 128
0,4 0,1 0,5 128 128 128
0,4 0,1 0,6 128 128 128
0,4 0,1 0,7 128 128 128
0,4 0,1 0,8 128 128 128
0,4 0,1 0,9 128 128 128
0,4 0,1 1 128 128 128
0,5 0,1 0,1 128 128 128
0,5 0,1 0,1 128 128 128
0,5 0,1 0,2 128 128 128
0,5 0,1 0,3 128 128 128
0,5 0,1 0,4 128 128 128
0,5 0,1 0,5 128 128 128
0,5 0,1 0,6 128 128 128
0,5 0,1 0,7 128 128 128
0,5 0,1 0,8 128 128 128
0,5 0,1 0,9 128 128 128
0,5 0,1 1 128 128 128
0,6 0,1 0,1 128 128 128
0,6 0,1 0,1 128 128 128
0,6 0,1 0,2 128 128 128
0,6 0,1 0,3 128 128 128
0,6 0,1 0,4 128 128 128
0,6 0,1 0,5 128 128 128
0,6 0,1 0,6 128 128 128
0,6 0,1 0,7 128 128 128
0,6 0,1 0,8 128 128 128
0,6 0,1 0,9 128 128 128
0,6 0,1 1 128 128 128
0,7 0,1 0,1 128 128 128
0,7 0,1 0,1 128 128 128
0,7 0,1 0,2 128 128 128
0,7 0,1 0,3 128 128 128
0,7 0,1 0,4 128 128 128
0,7 0,1 0,5 128 128 128
0,7 0,1 0,6 128 128 128
0,7 0,1 0,7 128 128 128
0,7 0,1 0,8 128 128 128
0,7 0,1 0,9 128 128 128
0,7 0,1 1 128 128 128
0,8 0,1 0,1 128 128 128
0,8 0,1 0,1 128 128 128
0,8 0,1 0,2 128 128 128
0,8 0,1 0,3 128 128 128
0,8 0,1 0,4 128 128 128
0,8 0,1 0,5 128 128 128
0,8 0,1 0,6 128 128 128
0,8 0,1 0,7 128 128 128
0,8 0,1 0,8 128 128 128
0,8 0,1 0,9 128 128 128
0,8 0,1 1 128 128 128
0,9 0,1 0,1 128 128 128
0,9 0,1 0,1 128 128 128
0,9 0,1 0,2 128 128 128
0,9 0,1 0,3 128 128 128
0,9 0,1 0,4 128 128 128
0,9 0,1 0,5 128 128 128
0,9 0,1 0,6 128 128 128
0,9 0,1 0,7 128 128 128
0,9 0,1 0,8 128 128 128
0,9 0,1 0,9 128 128 128
0,9 0,1 1 128 128 128
1 0,1 0,1 128 128 128
1 0,1 0,1 128 128 128
1 0,1 0,2 128 128 128
1 0,1 0,3 128 128 128
1 0,1 0,4 128 128 128
1 0,1 0,5 128 128 128
1 0,1 0,6 128 128 128
1 0,1 0,7 128 128 128
1 0,1 0,8 128 128 128
1 0,1 0,9 128 128 128
1 0,1 1 128 128 128
ply
format ascii 1.0
element vertex -5879
property float x
property float y
property float z
property uchar diffuse_red
property uchar diffuse_green
property uchar diffuse_blue
element face 0
property list uchar int vertex_indices
end_header
- ,0642 -0,06420395219202 0,1 128 128 128
- ,0642 -0,06420395219202 0,1 128 128 128
- ,0642 -0,06420395219202 0,2 128 128 128
- ,0642 -0,06420395219202 0,3 128 128 128
- ,0642 -0,06420395219202 0,4 128 128 128
- ,0642 -0,06420395219202 0,5 128 128 128
- ,0642 -0,06420395219202 0,6 128 128 128
- etc... etc... etc
Dim alpha As Integer 'angolo
Dim pointx As Float 'x point da spostare
Dim pointy As Float 'y point da spostare
Dim pointz As Float 'z point da spostare
Dim Newpointx As Float
Dim Newpointy As Float
Dim Sinalpha As Float
Dim Cosalpha As Float
Dim NewpointStX As String
Dim NewpointStY As String
Dim X As Integer
Dim Y As Integer
Dim i As Integer
Dim HFile As File
Dim Sline As String
Dim intestazione As String
Dim testo As String
Dim trap As Integer
Dim a As String
Dim aa As String[]
Dim j As Byte
Dim esclusivo As Integer
Dim escludi As String
Dim Resto As String
alpha = 72
HFile = Open "/home/io/Scrivania/cloud_new.ply" For Input
While Not Eof(hFile)
Line Input #hFile, Sline
trap = trap + 1
If Trap < 13 Then Goto loop1
a = Replace(Sline, "\n", " ")
a = Replace(Sline, ".", ",")
aa = Split(a, " ", "", True)
escludi = aa[1]
esclusivo = Val(escludi)
If esclusivo > 20 Then 'Goto loop1
SLine = ""
Else
'''''''''''''''''''''''''''''''''''''''''''''''
pointx = Val(aa[0])
pointy = Val(aa[1])
X = InStr(Sline, " ")
Y = InStr(Sline, " ", X + 1)
Resto = Mid$(Sline, (y + 1))
Resto = Replace(resto, ".", ",")
Sinalpha = Sin(alpha * (Pi / 180))
Cosalpha = Cos(alpha * (Pi / 180))
newpointx = (pointx * Cosalpha) - (pointy * Sinalpha)
newpointy = (pointx * Sinalpha) + (pointy * Cosalpha)
NewpointStX = Left$(Str$(newpointx), 7)
NewpointStY = Left$(Str$(newpointy), 7)
Sline = Str$(newpointStX) & " " & Str$(newpointSTY) & " " & Resto
Testo = Testo & Sline & gb.NewLine
i = i + 1
Print escludi
End If
loop1:
Wend
intestazione = "ply\nformat ascii 1.0\nelement vertex " & Str$(i - 22)
intestazione = intestazione & "\nproperty float x\nproperty float y\nproperty float z\nproperty uchar diffuse_red\nproperty uchar diffuse_green\nproperty uchar diffuse_blue\nelement face 0\nproperty list uchar int vertex_indices\nend_header\n"
TextArea1.Text = intestazione & Testo
File.Save("/home/io/Scrivania/cloud_rot.ply", TextArea1.text)