Kuution "morphaaminen" palloksi

Haluttaisiin siis tehdä animaatio, jossa kuutio muuttuu tilavuudeltaan yhtä suureksi palloksi. Kuution nurkkia pitää siis lähteä siirtämään kohti kappaleen keskipistettä ja kuution tahkojen keskipisteitä kauemmaksi keskustasta.

Jos vaikka ajatellaan kuution nurkkien olevan koordinaatistossa (-1,-1,-1)...(1,1,1), niin kuution tilavuus olisi 8. Vastaavan tilavuuden pallon säde on noin 1,24. Kuution nurkan etäisyys keskipisteestä on n. 1,41. Eli nurkkapisteen pitäisi siirtyä 1,41->1,24 ja tahkon keskipisteen 1->1,24. Ja tietenkin niiden välillä olevien pisteiden oikeassa suhteessa asemaansa nähden.

Mitenköhän tuota lähtisi purkamaan? Kuutiossa on ainakin kuusi tahkoa ja kahdeksan nurkkapistettä. Miten pallon pinta jaetaan kuuteen yhtä suureen osaan, jotka vastaisivat kuution tahkoja?

Kuution sisällehän jää pallo, joka ei muutu lainkaan. Sen tilavuus on noin 4,19. Siirreltävää "massaa" on siten 3,81. Tuo tieto ei varmaan mitään hyödytä, mutta kaikki liikuteltavat pisteet on joka tapaksessa 1-säteisen pallon ulkopuolella.
590
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Löysin tuollaiset kaavat: https://i.imgur.com/5kPW3sa.png

Pitää tutustua onko noista mihinkään. Ainakin arvoilla (1,1,1) tulee (0,716, 0,716, 0,716), joka on 1,24-säteellä yhtä etäällä origosta.

Äänestä
  • Joo tuo vaikuttaisi hyvältä. Jokaisen pisteen interpoloi sen ja origon yhdistävää suoraa myöten uuteen päätepisteeseensä. Siihenhän saisi varmaan erinäköisiä muodon muljahteluja kun käyttää erilaisia interpolaatiofunktioita(?)

    Äänestä

Tee ensin toimiva animaatio 8 nurkkapisteen ja 6 tahkon keskipisteen siirtämiseksi. Samalla selviää suuri osa ongelmista.

Sitten lisäät mukaan kaikkien sivujen keskipisteet, Niitä on 12 kpl. Liikuta kaikkia pisteitä origon kautta kulkevia akseleita pitkin. Symmetristä ja helppo laskea. Tiedät alku- ja loppupisteiden sijainnit. Pallon ja kuution tunnistaa helposti jo 26 pisteestä. Älä käytä mitään sini- tai kosiniunktioita yms. Tietokone laskee kaiken ihan riittävän nopeasti ihan peruskaavoja käyttäen. Ei kiirettä!

Äänestä
  • Kiitos vinkistä. Pitää pureskella tuota ideaa.

    Äänestä

Helppo homma. Tee funktio K(a), joka antaa kuution pisteen origosta lähtevän vektorin a suunnassa. Laske tarvittavan saman tilavuuden olevan pallon säde ja vastaavasti funktio P(a), joka antaa pallon pisteen origosta lähtevän vektorin a suunnassa. Olkoon alkutilanteessa (kuutio) t=0 ja lopputilanteessa (pallo) t=1. Tällöin ajanhetkellä t muotoutuneen kappaleen pinta on vektorin a suunnassa pistessä x = tP(a) (1-t)K(a).

Äänestä

Kommentoi aloitusta


Anonyymi kirjoitti:

Haluttaisiin siis tehdä animaatio, jossa kuutio muuttuu tilavuudeltaan yhtä suureksi palloksi. Kuution nurkkia pitää siis lähteä siirtämään kohti kappaleen keskipistettä ja kuution tahkojen keskipisteitä kauemmaksi keskustasta.

Jos vaikka ajatellaan kuution nurkkien olevan koordinaatistossa (-1,-1,-1)...(1,1,1), niin kuution tilavuus olisi 8. Vastaavan tilavuuden pallon säde on noin 1,24. Kuution nurkan etäisyys keskipisteestä on n. 1,41. Eli nurkkapisteen pitäisi siirtyä 1,41->1,24 ja tahkon keskipisteen 1->1,24. Ja tietenkin niiden välillä olevien pisteiden oikeassa suhteessa asemaansa nähden.

Mitenköhän tuota lähtisi purkamaan? Kuutiossa on ainakin kuusi tahkoa ja kahdeksan nurkkapistettä. Miten pallon pinta jaetaan kuuteen yhtä suureen osaan, jotka vastaisivat kuution tahkoja?

Kuution sisällehän jää pallo, joka ei muutu lainkaan. Sen tilavuus on noin 4,19. Siirreltävää "massaa" on siten 3,81. Tuo tieto ei varmaan mitään hyödytä, mutta kaikki liikuteltavat pisteet on joka tapaksessa 1-säteisen pallon ulkopuolella.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu