<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2013/3/27 Maurizio Paolini <span dir="ltr"><<a href="mailto:paolini@dmf.unicatt.it" target="_blank">paolini@dmf.unicatt.it</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I would like to mention that some of the internals of kig are already based<br>
on projective type of data.  Most notably, almost all transformation (the only<br>
exception is circular inversion) are internally treated as a linear transformation<br>
of the projective plane (i.e. a 3x3 matrix defined up to a multiplication by<br>
a nonzero scalar).<br>
<span class="HOEnZb"><font color="#888888"><br>
Maurizio<br>
</font></span><div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div>That's good to know :) It will probably be easier to work on things then.<br><br></div><div class="h5">> Please, specify what kind of features are needed. It would great if<br>

> you can describe some use cases that work with concepts of<br>> projective geometry.<br></div><div class="h5">
Mostly, adding support for points at infinity,<br>and generalizing constructions with them.<br><br></div>For example generalizing construction and intersection would allow to<br></div><div class="gmail_quote">use Kig to show theorems of projective geometry, whose graphic<br>

representation would then work even if some lines are parallel.<br>(I'm thinking about Pascal's theorem, for example).<br><br></div><div class="gmail_quote">This would also be a step in decoupling the algorithms from the<br>

</div><div class="gmail_quote">underlying field, which could open the road to nice things like:<br></div><div class="gmail_quote">1) 3D geometry<br></div><div class="gmail_quote">2) Projective complex spaces<br></div><div class="gmail_quote">

3) Noneuclidean geometry (this would need checking the code<br>   for euclidean assumptions!)<br></div><div class="gmail_quote">4) Maybe even finite fields, who knows<br><br></div><div class="gmail_quote">Points at infinity, in my opinion, could be either represented<br>

as points on the drawing frame border, or in a separate box.<br></div><div class="gmail_quote">If going for the separate box, as P^2(R) is "R^2 plus P(R)",<br>I'd represent points at infinity as a circle, with the point<br>

</div><div class="gmail_quote">{^t}(x y 0) \in P^2(R) represented as a point<br>with coordinates equal to his normalized form.<br><br></div><div class="gmail_quote">Leonardo Taglialegne<br></div></div></div>