• 2 odgovora
  • 3.352 pregleda
Kako da odredim visinu zarotirane elipse? 29.03.2008. u 07:56 · pre 226 meseci #1

Pozdrav svima!

Moze li mi neko reci kako da odredim visinu zarotirane elipse? Uspio sam naci formulu za crtanje zarotirane elipse ali kad sam krenuo da trazim prvi izvod te funkcije zavrsio sam uvijek sa polinomom 4. reda. Bio bih vam zahvalan za svaku pomoc i reference.

Veliki pozdrav!
Re: Kako da odredim visinu zarotirane elipse? 29.03.2008. u 12:16 · pre 226 meseci #2
Pozdrav jos jednom!

Napisao sam metodu koja racuna visinu elipse, ako vam bude ikada zatrebala saljem je ovim postom, implementirana je u Javi.

a - radijus tanjeg dela elipse
b- radijus debljeg dela elipse
angle - ugao

Ako zelite da izracunate i sirinu elipse, pozovete funkciju jos jednom pri cemu samo zamjenite a i b parametre.

Code:

protected static int height(int a, int b, float angle) {
      double cos = Math.cos(Math.toRadians(angle));
      double sin = Math.sin(Math.toRadians(angle));
      int axa = a*a;
      int bxb = b*b;
      double cosxcos = cos*cos;
      double sinxsin = sin*sin;
      double A = (bxb*cosxcos + axa*sinxsin)*(bxb*sinxsin + axa*cosxcos) - Math.pow(bxb*cos*sin - axa*cos*sin, 2);
      double B = 0;
      double C = (bxb*cosxcos + axa*sinxsin) * (-axa*bxb);
      return (int)Math.ceil((-B + Math.sqrt(-4*A*C)) / (2*A));
}



Evo i rezultat primene te funkcije (plava i zuta linija su povucene na krajnjim tackama elipse u pozitivnom delu x/y ose):



Ako na forumu postoji nesto kao Code-Base sa korisnim funkcijama zamolio bih moderatora da ubaci i ovu.

Veliki pozdrav svima i prijatan vikend!
Re: Kako da odredim visinu zarotirane elipse? 29.03.2008. u 14:48 · pre 226 meseci #3
Samo jedna mala korekcija terminologije::

Citat:
a - radijus tanjeg dela elipse
b- radijus debljeg dela elipse


Kod elipse, ovi termini se nazivaju kraćom i dužom poluosom elipse.

Pozdrav!
Potpis
Use The Force!
“Who said anything about slicing you up? I just wanted to carve a little Z on your forehead — nothing serious.”
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme