Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Grafikkaa pallokolmio-ohjelmaan

jormi [03.05.2008 08:56:08]

#

Mikä olisi hyvä ohjelmointikieli, jos haluan grafiikkaa mukaan pallokolmion ratkaisuun? Ajatus olisi, että lähdötiedot syötettäisiin taulukkkon, ohjelma laskisi ja täydentäisi taulukon sekä piirtäisi kolmion havainnolliseen asentoon 3D pallon pinnalle. Malli olisi esimerkiksi tässä.
Epäonnistui tuo linkin liäys, anteeksi. JVM

Mod. korjasi linkin, ks. ohjeet

Pekka Karjalainen [03.05.2008 09:06:08]

#

Minusta Sage vaikuttaa aika kiinnostavalta ympäristöltä matemaattiseen tutkivaan ohjelmointiin. Se perustuu Python-kieleen, jonka alkeet opetetaan Putkan oppaassa[1]. Sage-ohjelmassa on mm. valmiita toimintoja kuvaajien ja muiden grafiikkaesitysten piirtämistä varten.

Ohjelma on vapaasti saatavilla osoitteesta:
http://www.sagemath.org/

Download-osion kautta löydät sopivan asennuspaketin omalle koneellesi. Jos innostut kokeilemaan ohjelmaa, olisi kiva lukea kokemuksistasi. (En ole itse vielä kerennyt.)

[1] Putkan Python-opas (Antti Laaksonen):
https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=python

jormi [03.05.2008 13:41:40]

#

Senverran kaivoin jo esille, että python sisältää math modulin, joka sisältää trigonometriset funktiot.
Toinen asia on C++. Onko siitä tässä asiassa mihinkään, perus C-kieli olisi auttavasti hallinnassani. JVM.

os [03.05.2008 13:55:08]

#

Grafiikan piirtämisessä olennaisinta ei ole ohjelmointikieli, vaan käytetyt grafiikkakirjastot, joista monissa on ohjelmointirajapinta useammalle kielelle (C on hyvin yleinen). Tarvittavat matemaattiset funktiot löytyvät varmasti kaikista ohjelmointikielistä.

Tuo Sage vaikutti enemmänkin kokonaiselta matematiikkaohjelmistolta, joka ei taida olla se, mitä olet hakemassa. Tyylikkään grafiikan piirtäminen pelkillä matalan tason grafiikkakirjastoilla, kuten SDL, ei yleisesti ottaen ole kovin helppoa. Jos lopputulos kiinnostaa tietokonegrafiikkaohjelmointia enemmän, niin kannattaa yrittää etsiä jokin valmis grafiikkakirjasto, joka on tarkoitettu esimerkiksi geometristen kuvioiden piirtoon. Myös Visual Basicin kaltaiset tai ns. "peliohjelmointikielet" voivat olla varteenotettava vaihtoehto.

Edit: Ja vielä yhtenä vaihtoehtona tuon kaltaisen grafiikan piirtämiseen kannattaa harkita vain tarvittavien parametrien (kolmion tiedot, pallon asento ja väri, tekstit ...) syöttämistä jollekin sopivalle grafiikkaohjelmalle, kuten POV-Ray tai gnuplot. Eli yksinkertaisimmillaan niin, että kirjoitat C-ohjelmalla sopivan syötetekstitiedoston toiselle ohjelmalle ja ajat ohjelman joko käyttöjärjestelmän komennolla tai jätät sen käyttäjän huoleksi.

Pekka Karjalainen [03.05.2008 15:19:34]

#

jormi kirjoitti:

Senverran kaivoin jo esille, että python sisältää math modulin, joka sisältää trigonometriset funktiot.
Toinen asia on C++. Onko siitä tässä asiassa mihinkään, perus C-kieli olisi auttavasti hallinnassani. JVM.

Sage-ohjelmassa on paljon enemmän toimintoja kuin minkään yleiskäyttöisen ohjelmointikielen matematiikkakirjastossa. Ei kannata katsoa Pythonin puolelta mitä sen math-kirjastossa on, koska sillä ei ole asian kanssa paljoakaan tekemistä. Sage on siis oma ohjelmansa, joka vain sattuu hyödyntämään Pythonia.

Ehdotin tätä siksi, koska ajattelin, että valmiit toimivat työkalut kiinnostavat sinua enemmän kuin itse tehdyt viritykset ja haluat mieluummin pohtia asian matemaattisia puolia. Mutta jos tavallinen ohjelmointikieli riittää, mikäpä siinä.

C++:n opetteluun hyvälle tasolle C-pohjalta menee vähintään kuukausia.

jormi [03.05.2008 15:32:57]

#

Katselin Visual Basic linkkiä. Olen varmaan jossain 'aikaisemmassa elämässäni' käyttänyt jotain hyvin samantapaista, en vaan muista mitä. Asia saattaisi olla yksinkertaisinta tehdä kokonaan Visual Basicilla, kieli ei liene vaikea vanhalle Commodore-64 ohjelmoijalle. Visual C lienee vaikeampi. JVM

Vastaus

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

Tietoa sivustosta