• battler
  • Registratie: November 2004
  • Laatst online: 20-05 20:41
Ik ben bezig met het maken van een dashboard. Ik heb dus een plaatje wat lijkt op een toerenteller.
Vervolgens wil ik een methode maken waarbij ik een waarde van 0 tot 100 in kan geven, en de wijzer die aangeeft in de toerenteller.

Nu is het volgende het probleem; De X en Y coordinaten van het eindpunt van de lijn zijn niet berekenen. Althans niet met mijn gebrekkige wiskunde. Het liefst zou ik dus een benaderingsforumule willen hebben. Dat ik bv. 10 punten ingeef met hun bijbehorende X en Y coordinaten en dat daar een formule uitkomt.

Is zoiets mogelijk of heeft iemand een andere oplossing?

Lux.Architectuur | Van Dromen tot Wonen | www.Lux-a.nl


  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 20-05 22:51

CoolGamer

What is it? Dragons?

Is de toerenteller rondvormig, dan is het niet zo heel moeilijk. Op internet zijn zat voorbeelden hoe je een klok maakt met wijzers, wat hetzelfde principe is.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


  • Mr.Qips
  • Registratie: Juli 2005
  • Laatst online: 17:23

Mr.Qips

Meneer Kips dus

Let op: ik kan vrij weinig Java en dit is een wiskundige benadering.

Tja, sinus en cosinus etc. Als de wijzer helemaal links staat, staat hij onder een hoek van pi (pi, hoek in radialen dus). Als de wijzer helemaal rechts staat, is de hoek 0. De lengte van de wijzer is de straal (laten we die R noemen). In x & y-coördinaten is dit nu (Rcos(hoek), Rsin(hoek)). Ik kan me voorstellen dat je niet wil dat de wijzer volledig plat komt te liggen. Je zou dan een hoek kunnen nemen tussen pi/6 en 5*pi/6.

[ Voor 1% gewijzigd door Mr.Qips op 12-11-2009 18:58 . Reden: ik kan beter niet reageren als ik net van een borrel kom 8)7 ]


  • battler
  • Registratie: November 2004
  • Laatst online: 20-05 20:41
Van oorsprong was mijn dashboard een halve cirkel met verlengde assen.
Afbeeldingslocatie: http://www.wisfaq.nl/bestanden/q20940img2.gif
Ik snap niet waarom ik geen applicatie kan vinden, waarbij ik 10 punten met hun bijbehorende waardes ingeef. En de app. dan de formule eruit knalt.

Nu kan ik ook in deze tekening een cirkel tekenen, dan kan de wijzer alleen niet helemaal horizontaal zijn, Maar hoe bereken ik dan de X en Y waardes van die circel.

[ Voor 23% gewijzigd door battler op 12-11-2009 19:00 ]

Lux.Architectuur | Van Dromen tot Wonen | www.Lux-a.nl


  • Juup
  • Registratie: Februari 2000
  • Niet online
Tja het is zoo makkelijk, ook in java.
angle = 2 * Math.PI * value / 100;
x = xmax * Math.sin(angle);
y = ymax * Math.cos(angle);

[ Voor 6% gewijzigd door Juup op 12-11-2009 19:06 ]

Man has 2 testicles but only 1 heart...


  • HuHu
  • Registratie: Maart 2005
  • Niet online
Als je 10 punten ergens wil opslaan, dan doe je dat in een array.

  • Simon Verhoeven
  • Registratie: Juni 2008
  • Laatst online: 30-08-2018

Simon Verhoeven

The trial never ends.

Lijkt me dat het wel doenbaar is met sinus en cosus als ik het me goed herinner.
Normaal kan je hier wel wat mee: http://javaboutique.inter...y_Example/section7_5.html

  • Mr.Qips
  • Registratie: Juli 2005
  • Laatst online: 17:23

Mr.Qips

Meneer Kips dus

Je hebt een ellips getekend met poolcoordinaten (2cos(t), 3sin(t)). Dat is dus (x,y), met hoek t, waarbij je voor die hoek naar m'n vorige post moet kijken. De lengte van je straal is nu variabel. Er geldt: x^2 + y^2 = R^2. R is dus de wortel van x^2 + y^2. Concreet is dit bij jouw afbeelding: "R = sqrt(4cos(t)^2 + 9sin(t)^2)". Als je niet voor een variabele wijzergrootte wil gaan (het is niet echt realistisch), kan je een vaste waarde voor R kiezen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 01-05 10:36

NMe

Quia Ego Sic Dico.

Allereerst zul je je cirkel op moeten delen. Als je de volle cirkel wil gebruiken betekent dat 3,6 graden per eenheid, uitgaande van waarden van 0 tot 100, waarbij 0 en 100 zouden overlappen op je ellips. Vervolgens is het simpele wiskunde: eenheid maal 3,6 om de hoek te bepalen, en vervolgens de straal uitrekenen voor die specifieke hoek. Daarna hoef je alleen maar een lijn van die lengte te tekenen vanuit het middelpunt in de hoek die je al eerder had berekend. ;)

En omdat dit eigenlijk niets met Java te maken heeft:
PRG>>WI

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • battler
  • Registratie: November 2004
  • Laatst online: 20-05 20:41
Allemaal bedankt, ik ben stukken verder. De wiskunde zit nu wel goed, alleen nog even programmeren.

- Basiskennis
- Handige info over ellips
- Handige info deel 2

Lux.Architectuur | Van Dromen tot Wonen | www.Lux-a.nl

Pagina: 1