Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Geometrian piirto-ohjelma

Sivun loppuun

Jaska [30.08.2019 12:10:04]

#

Onko olemassa avoimen lähdekoodin ohjelmaa, jolla voisi helposti piirrellä geometrian kuvioita, ja se soveltuisi kaupallisiin projekteihin? Esimerkiksi millä ohjelmalla kannattaisi piirtää kuva sivulta https://www.cut-the-knot.org/wiki-math/index.php?n=MathematicalOlympiads.AMO2005Problem3 .

vesikuusi [30.08.2019 14:34:30]

#

Itse olen käyttänyt GeoGebraa noin viisi vuotta sitten. En osaa sanoa miten nykyään mutta silloin ainakin pelasi hyvin ja oli avointa lähdekoodia myös.

Jaska [30.08.2019 14:57:57]

#

Koodi on avointa, mutta en tiedä saako sitä käyttää kaupallisessa tarkoituksessa. Täytyy kysyä tekijöiltä itseltään. https://www.geogebra.org/license

walkout_ [30.08.2019 15:15:39]

#

Jaska kirjoitti:

Koodi on avointa, mutta en tiedä saako sitä käyttää kaupallisessa tarkoituksessa. Täytyy kysyä tekijöiltä itseltään. https://www.geogebra.org/license

Luin lisenssin ja sen on juu Open Source. Mutta ei näköjään kovin salliva kun pitää tehdä ihan sopparit tekijän kanssa kaupallissesta käytöstä.

Parempi olisi jos olis vaikka Ne BSD -lisenssillä niin silloin siitä saa tehdä ihan omin lupineen vaikka suljetunlähdekoodin kaupallisen sovelluksen.

peran [30.08.2019 19:47:11]

#

Yksi vaihtoehto saattaisi olla, että tekisi itse suoraan dynaamista svg:tä.

(Esim. piirtää inkscapella neliön, ja katsoo xml-lukijalla, miltä koodi näyttää.)

Tosin voi olla liian työläs, mutta itselläsi olisi kuitenkin kaikki oikeudet koodiisi.

Tässä on (ympyrä)->ellipsi, joka on tehty inkscapella, kuten koodistakin näkyy...

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="210mm"
   height="297mm"
   viewBox="0 0 210 297"
   version="1.1"
   id="svg8"
   inkscape:version="0.92.3 (2405546, 2018-03-11)"
   sodipodi:docname="ympyra.svg">
  <defs
     id="defs2" />
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.35"
     inkscape:cx="-130"
     inkscape:cy="560"
     inkscape:document-units="mm"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1920"
     inkscape:window-height="1151"
     inkscape:window-x="0"
     inkscape:window-y="0"
     inkscape:window-maximized="1" />
  <metadata
     id="metadata5">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Taso 1"
     inkscape:groupmode="layer"
     id="layer1">
    <ellipse
       style="fill:#ffffff;stroke:#00ffff;stroke-width:0.26458332"
       id="path10"
       cx="67.657738"
       cy="134.09225"
       rx="22.300594"
       ry="20.032738" />
  </g>
</svg>

Koodia voi paljon tiivistää, mutta idea lienee yksinkertainen. Riippuen ongelman monimutkaisuudesta saattaa olla käyttökelpoinen.

Edit - Käskyt löytää myös svg:n dokumenteista...
https://www.w3.org/Graphics/SVG/

Edit 2 - Kuinka tehdään tekstin yliviivaus tässä foorumissa ?

Grez [30.08.2019 20:55:44]

#

Minun mielestä nuo Inkscapen tuotokset on huono esimerkki siinä mielessä, että tulee helposti väärä käsitys että svg vaatisi noin monimutkaista...

Lisäksi kehtaisin väittää että peranin kuvassa ei ole edes ympyrä vaan ellipsi (koska rx ja ry ovat erisuuruiset)

Tässä Suomen lippu SVG:nä

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1800" height="1100">
  <rect width="1800" height="1100" fill="#fff"/>
  <rect width="1800" height="300" y="400" fill="#003580"/>
  <rect width="300" height="1100" x="500" fill="#003580"/>
</svg>

Tai tässä vastaavasti ympyrä:

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1000">
  <ellipse cx="500" cy="500" rx="400" ry="400" stroke="#090" fill="none" />
</svg>

peran [30.08.2019 21:19:58]

#

Pointtini oli kuitenkin se, että voi sitä svg:tä kirjoittaa suoraan koodinakin.

Grez kirjoitti:

Minun mielestä nuo Inkscapen tuotokset on huono esimerkki siinä mielessä, että tulee helposti väärä käsitys että svg vaatisi noin monimutkaista...

Lisäksi kehtaisin väittää että peranin kuvassa ei ole edes ympyrä vaan ellipsi (koska rx ja ry ovat erisuuruiset)

Olihan se "melkein ympyrä". Laiskana en jaksanut viilata viimosen päälle, mutta olet oikeassa, ettei esimerkkini ollut ellipsin erikoistapaus eli ympyrä.

Annoin kuitenkin linkin SVG-dokumentaatioon.

Grez [30.08.2019 21:27:21]

#

peran kirjoitti:

Pointtini oli kuitenkin se, että voi sitä svg:tä kirjoittaa suoraan koodinakin.

Ja mä vähän tarkensin sitä pointtia näyttämällä, että se ei ole edes kovin vaikeaa.

Mutta luulen kyllä että alkuperäinen kysyjä ei halua koodata piirto-ohjelmaa itse vaan käyttää valmista. Periaatteessahan tuollaisen ekassa viestissä esitetyn kuvan pystyisi kohtuullisen vähällä vaivalla piirtämään inkscapella, vaikka se ei missään tapauksessa ole siihen optimaalinen työkalu. (Ja helpottaa huomattavasti jos ennestään osaa käyttää Inkscapea)

Toisaalta mietin myös että jos kerran kaupalliseen käyttöön on homma tulossa, niin joku GeoGebra voisi silti olla taloudellinen vaihtoehto. Lisenssin hinnalla* ei liene hirveän montaa työtuntia saa ostettua. Miksi kaupalliseen käyttöön pitäisi olla ilmainen?

* (Myönnetään että en tiedä mikä se hinta tarkalleen ottaen on, mutta väittivät kohtuulliseksi)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta