<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 16px; font-family: Georgia, sans-serif;">
<div>There are a <i>many</i> sources on the internet that explain the format:</div>
<div><a href="https://www.vtk.org/doc/nightly/html/IOLegacyInformationFormat.html">https://www.vtk.org/doc/nightly/html/IOLegacyInformationFormat.html</a></div>
<div><a href="https://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf">https://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf</a></div>
<div><a href="http://www.cacr.caltech.edu/~slombey/asci/vtk/vtk_formats.simple.html">http://www.cacr.caltech.edu/~slombey/asci/vtk/vtk_formats.simple.html</a></div>
<div><a href="https://www.vtk.org/Wiki/VTK/Writing_VTK_files_using_python#.22legacy.22">https://www.vtk.org/Wiki/VTK/Writing_VTK_files_using_python#.22legacy.22</a></div>
<div><br>
</div>
<div>The reason that the lines and vertices are recorded the way they are is probably to save space. In your small example it may not be readily apparent, but once you start to get a semi-large dataset, such as a 3D CFD mesh, it will make much more sense why
 it is done that way. Just as an example of how you might do this in something like python, here is a script that writes out a circle:</div>
<div><br>
</div>
<div>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(113, 237, 250); background-color: rgb(140, 140, 140);">
#!/usr/bin/env python3</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(113, 237, 250); background-color: rgb(140, 140, 140);">
# -*- coding: utf-8 -*-</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140); min-height: 17px;">
<br>
</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(146, 33, 148); background-color: rgb(140, 140, 140);">
from<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5"> math
</span>import<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5"> *</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
N = <span style="font-variant-ligatures: no-common-ligatures; color: #843c00">20</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140); min-height: 17px;">
<br>
</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
points   = []</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
vertices = []</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
segments = []</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140); min-height: 17px;">
<br>
</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">for</span> i
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">in</span>
<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">range</span>(N):</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
  points.append((<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">0.</span>, cos(i*<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">2.</span>*pi/N), sin(i*<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">2.</span>*pi/N)))</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
  vertices.append((<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">1</span>, i))</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
  segments.append((<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">2</span>, i, (i +
<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">1</span>) % N))</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140); min-height: 17px;">
<br>
</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(132, 60, 0); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">(</span>"""# vtk DataFile Version 3.0</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(132, 60, 0); background-color: rgb(140, 140, 140);">
vtk output</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(132, 60, 0); background-color: rgb(140, 140, 140);">
ASCII</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(132, 60, 0); background-color: rgb(140, 140, 140);">
DATASET POLYDATA<span style="font-variant-ligatures: no-common-ligatures; color: #922194">\n</span>"""<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">)</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140); min-height: 17px;">
<br>
</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(132, 60, 0); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">(</span>"POINTS {} float"<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">format</span><span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">(N))</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">for</span> point
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">in</span> points:</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
  <span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">print</span>(<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">"{} {} {}"</span>.<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">format</span>(*point))</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(113, 237, 250); background-color: rgb(140, 140, 140);">
print<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">()</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140); min-height: 17px;">
<br>
</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(132, 60, 0); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">(</span>"LINES {} {}"<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">format</span><span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">(N,
</span>3<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">*N))</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">for</span> segment
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">in</span> segments:</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
  <span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">print</span>(<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">"{} {} {}"</span>.<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">format</span>(*segment))</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(113, 237, 250); background-color: rgb(140, 140, 140);">
print<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">()</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140); min-height: 17px;">
<br>
</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(132, 60, 0); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">(</span>"VERTICES {} {}"<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">format</span><span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">(N,
</span>2<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">*N))</span></p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">for</span> vert
<span style="font-variant-ligatures: no-common-ligatures; color: #e2de59">in</span> vertices:</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(140, 140, 140);">
  <span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">print</span>(<span style="font-variant-ligatures: no-common-ligatures; color: #843c00">"{} {}"</span>.<span style="font-variant-ligatures: no-common-ligatures; color: #71edfa">format</span>(*vert))</p>
<p style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(113, 237, 250); background-color: rgb(140, 140, 140);">
print<span style="font-variant-ligatures: no-common-ligatures; color: #f5f5f5">()</span></p>
</div>
<div><br>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>vtkusers <<a href="mailto:vtkusers-bounces@vtk.org">vtkusers-bounces@vtk.org</a>> on behalf of Marco Ghiani <<a href="mailto:marcog.ghiani@gmail.com">marcog.ghiani@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, October 4, 2017 at 1:29 AM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:vtkusers@vtk.org">vtkusers@vtk.org</a>" <<a href="mailto:vtkusers@vtk.org">vtkusers@vtk.org</a>><br>
<span style="font-weight:bold">Subject: </span>[EXTERNAL] [vtkusers] format file algorithm<br>
</div>
<div><br>
</div>
<div>
<div text="#000000" bgcolor="#FFFFFF">
<p>I'm Marco I've just started my phD last week , about computational fluid dynamics of polymeric turbulent flow , I would really understand the algorithm for write a generic script that given a set of point x,y,z construct a file in this format :</p>
<p><font face="Courier New,Courier,monospace"># vtk DataFile Version 3.0<br>
vtk output<br>
ASCII<br>
DATASET POLYDATA<br>
</font><font face="Courier New,Courier,monospace"><br>
POINTS 3 float<br>
1.0 0.5 1.5<br>
0.2 0.1 0.8<br>
0.4 0.2 2.3<br>
</font><font face="Courier New,Courier,monospace"><br>
LINES 2 6<br>
2 0 1<br>
2 0 2<br>
</font><font face="Courier New,Courier,monospace"><br>
VERTICES 3 6<br>
1 0<br>
1 1<br>
1 2<br>
</font><font face="Courier New,Courier,monospace"><br>
POINT_DATA 3<br>
SCALARS element float<br>
LOOKUP_TABLE default<br>
8 1 1<br>
SCALARS somefield float<br>
LOOKUP_TABLE default<br>
0.687 0.262 0.185</font></p>
<font face="Courier New,Courier,monospace"></font>
<p><font face="Courier New,Courier,monospace"><br>
</font></p>
<p>I have no idea how to set the LINES and VERTICES starting from only a number of spatial point ! could somebody help me please ?</p>
</div>
</div>
</span>
</body>
</html>