Miten liukuluvut?

Terve!
Ongelma on tällainen:
Esim: olen piirtänyt lomakkeelle viivan eli pisteen paikkaa x ja y, nyt haluan pyöräyttää tuota viivaa vaikka 5 astetta, osaan kyllä laskea kulmat ym mutta tässä tulee ongelman ydin:
vanhat pisteet ovat seuraavat("päästä heitettyjä"):
x :=10,10 ja y:=5,5

uudet pisteet kulman rotaation avulla laskettuna ovat:

x := 10.8, 9.2 JA y:= 5.8, 4.2

mutta kun lomake ei tue kuin kokonaislukuja pisteille x ja y
jos noita rupean pyöristelemään ei enää kulmat pidä paikkaansa

HUOM: eli siis kaikki luvut on päästä repäisty eivätkä ole välttämättä oikeita arvoja mutta pääasia jos ymmärrätte ongelman!

Edes pieni vihje on kullan arvoinen!
KIITOS
2437
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

En ole delphaaja mutta jotain mieleen tuli kuitenkin..

Piirrät ne likiarvojen mukaan tietysti. Ei pikseleiden väliin voi pistää pistettä. Tietty et suoraan castaa intiksi, vaan lisää ensin vaikka 0.5 jolloin se pyöristys tapahtuu lähimpään, eikä aina alaspäin.

Likiarvoja ei kannatata pitää laskuissa kuitenkaan mukana minkä vuoksi pyöritä aina alkuperäisia koordinaatteja.

Esim jos pyörität jotain pistettä 1 astetta kerrallaan laske pisteet ensin 1 pistettä kierrettynä. Sitten 2 pistettä kierrettynä jne.

Älä koskaan kierrä jo kierrettyjä pisteitä. Muuten tulee mahtavia venymisiä ja vanumisia ;)

Äänestä

Käytä laskentaan liukuluku muutujia, ja koordinaatteihin integeriä, pyöristä funkkarilla,
round(x); //pyöristä lähimpään kokonaislukuun

Äänestä

Kommentoi aloitusta


d6pe kirjoitti:

Terve!
Ongelma on tällainen:
Esim: olen piirtänyt lomakkeelle viivan eli pisteen paikkaa x ja y, nyt haluan pyöräyttää tuota viivaa vaikka 5 astetta, osaan kyllä laskea kulmat ym mutta tässä tulee ongelman ydin:
vanhat pisteet ovat seuraavat("päästä heitettyjä"):
x :=10,10 ja y:=5,5

uudet pisteet kulman rotaation avulla laskettuna ovat:

x := 10.8, 9.2 JA y:= 5.8, 4.2

mutta kun lomake ei tue kuin kokonaislukuja pisteille x ja y
jos noita rupean pyöristelemään ei enää kulmat pidä paikkaansa

HUOM: eli siis kaikki luvut on päästä repäisty eivätkä ole välttämättä oikeita arvoja mutta pääasia jos ymmärrätte ongelman!

Edes pieni vihje on kullan arvoinen!
KIITOS

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