Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ispitivanje , da li se tacka nalazi na kruznici?

[es] :: Java :: ispitivanje , da li se tacka nalazi na kruznici?

[ Pregleda: 5625 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

virtualx
bihać - BIH

Član broj: 5930
Poruke: 3383
*.PPPoE-2270.sa.bih.net.ba.

ICQ: 11


+4 Profil

icon ispitivanje , da li se tacka nalazi na kruznici?03.04.2007. u 08:36 - pre 207 meseci
e treba mi program hitno za sutra .
znaci zadane su kordinate sredista kruznice i njen poluprecnik.
i zadane su korsinate tacke.
ispitati da li se tacna nalazi na kruznici.
treba mi source kod u javi napisan ,sto jednostavnije.
nije tesko, ali posto ja nemam pojma nikako meni jest.
pomoc

 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.antegra.com.



+13 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?03.04.2007. u 09:07 - pre 207 meseci
Citat:
virtualx: e treba mi program hitno za sutra .


Samo naruci.
 
Odgovor na temu

virtualx
bihać - BIH

Član broj: 5930
Poruke: 3383
*.PPPoE-6217.sa.bih.net.ba.

ICQ: 11


+4 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?03.04.2007. u 12:04 - pre 207 meseci
hahaha
dajte ako ko moze pomoci nek javi,trebam sutra predati zadacu inace dobijam -

 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
*.adsl.beotel.net.

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?04.04.2007. u 00:02 - pre 207 meseci
Treba samo da izračunaš udaljenost tačke i centra kruga. Ako je udaljenost jednaka poluprečniku sledi da je tačka na kružnici, inače nije. Npr. ako je centar (10, 10) a poluprečnik 2, tad je tačka 10, 12 na kružnici. Udaljenost 2 tačke se računa kao: ((koordinataCentraX - koordinataTačkeX)^2 + (koordinataCentraY - koordinataTačkeY)^2)^1/2

Koren računaš pomoću Math.sqrt a sa Math.pow dižeš na stepen (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html). I to je sve što ti treba za program.
Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
89.190.198.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?04.04.2007. u 07:11 - pre 207 meseci
Čovek ne reče da mu je matematika problem. (premda ni to nije isključeno)

Znaš, ako nisi od Jave dovoljno naučio da napišeš klasu koja ima jednu jedinu statičku metodu main, 5 realnih promenljivih, jedan if, i jedan syso.. pa da je recimo postaviš ovde i tražiš pomoć.

Eto, da pomognem i ja, java.util.Scanner će ti biti od pomoći za unos sa tastature ako radiš sa konzolom.
Ipak se ++uje.
 
Odgovor na temu

krivatcha
Beograd

Član broj: 1042
Poruke: 13
*.ADSL.neobee.net.



Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?04.04.2007. u 10:22 - pre 207 meseci
Evo resenja, za unos sa tastature sam koristio klasu Citaj, koju imas u file-u Citaj.java.....Otkucano je na brzaka, al se nadam da ce pomoci....
POZDRAV....
file: Tacka.java
Code:

public class Tacka {
    private double a,b;
    public Tacka(double aa, double bb) {
        a = aa; b = bb; 
    }
    public double rastojenje(Tacka t) {
        return Math.sqrt(Math.pow(a-t.a,2)+Math.pow(b-t.b,2) );
    }
}

file: Kruznica.java
Code:

public class Kruznica {
    private Tacka c;
    private double r;
    public Kruznica() {
        r = 1;
    }
    public Kruznica(double aa, double bb, double rr){
        c = new Tacka(aa,bb);
        r = rr;
    }
    public boolean unutar(Tacka t){
        if (r > c.rastojenje(t))
            return true;
        else 
            return false;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("Unesi koordinate kruga:");
        double x = Citaj.Double();
        double y = Citaj.Double();
        double ra = Citaj.Double();
        Kruznica k = new Kruznica(x, y, ra);
        System.out.println("Unesi koordinate tacke:");
        x = Citaj.Double();
        y = Citaj.Double();
        Tacka t = new Tacka(x, y);
        if (k.unutar(t))
            System.out.println("Tacka je unutar kruga!");
        else 
            System.out.println("Tacka nije unutar kruga!");
    }

}

file: Citaj.java
Code:

// Citaj.java - Citanje podataka standardnih tipova iz ulaznog toka,
//              iz datoteke i s glavnog ulaza.

import  java.io.*;

public class Citaj {

  private InputStream ut;    // Ulazni tok iz kojeg se cita.
  private char c;            // Poslednji procitani znak.
  private boolean eos;       // Indikator kraja toka.

  public Citaj (InputStream uut) { ut = uut; } // Inicijalizacija
                                               //   ulaznim tokom.
  public Citaj (String ime) throws FileNotFoundException  // Otvaranje
    { ut = new FileInputStream (ime); }                   //   datoteke.

  public boolean endS () { return eos; }       // Da li je kraj toka?

  public char getChS () {    // Dohvatanje sledeceg znaka.
    try { int i = ut.read (); return c = (eos = i == -1) ? ' ' : (char)i; }
      catch (Exception g) { eos = true; return c = ' '; }
  }

  public char CharS () {     // Citanje jednog (nebelog) znaka.
    while (Character.isWhitespace (c = getChS ()));
    return !eos ? c : ' ';
  }

  public String StringS () { // Citanje jedne reci.
    String s = "";
    while ( Character.isWhitespace (c = getChS ()) && !eos);
    if (eos) return "";
    s += c;
    while (!Character.isWhitespace (c = getChS ()) && !eos) s += c;
    eos = false;
    return s;
  }

  public String LineS () {    // Citanje jednog reda teksta.
    String s="";
    while ((c = getChS ()) != '\n' && !eos) if (c != '\r') s += c;
    if (s.length () != 0) eos = false;
    return s;
  }

  public void getNLS ()      // Preskakanje znakova do kraja reda.
    { while (c!='\n' && !eos) c = getChS (); c = '\0'; }

  public byte   ByteS    ()  // Citanje jednog podatka tipa byte.
    { String s = StringS (); return !eos ? Byte.parseByte (s) : 0; }

  public short  ShortS   ()  // Citanje jednog podatka tipa short.
    { String s = StringS (); return !eos ? Short.parseShort (s) : 0; }

  public int    IntS     ()  // Citanje jednog podatka tipa int.
    { String s = StringS (); return !eos ? Integer.parseInt (s) : 0; }

  public long   LongS    ()  // Citanje jednog podatka tipa long.
    { String s = StringS (); return !eos ? Long.parseLong (s) : 0; }

  public float  FloatS   ()  // Citanje jednog podatka tipa float.
    { String s = StringS (); return !eos ? Float.parseFloat (s) : 0; }

  public double DoubleS  ()  // Citanje jednog podatka tipa double.
    { String s = StringS (); return !eos ? Double.parseDouble (s) : 0; }

  public boolean BooleanS()  // Citanje jednog podatka tipa boolean.
    { String s = StringS (); return !eos ? Boolean.parseBoolean(s) : false; }

  // PODRSKA ZA CITANJE S GLAVNOG ULAZA.

  private static Citaj gl = new Citaj (System.in);   // Predstavnik
                                                     //   glavnog ulaza.
  public static boolean end    () { return gl.endS    (); } // Varijante
  public static char    getCh  () { return gl.getChS  (); } //   metoda
  public static char    Char   () { return gl.CharS   (); } //   koje
  public static String  String () { return gl.StringS (); } //   citaju sa
  public static String  Line   () { return gl.LineS   (); } //   glavnog
  public static void    getNL  () {        gl.getNLS  (); } //   ulaza.
  public static byte    Byte   () { return gl.ByteS   (); }
  public static short   Short  () { return gl.ShortS  (); }
  public static int     Int    () { return gl.IntS    (); }
  public static long    Long   () { return gl.LongS   (); }
  public static float   Float  () { return gl.FloatS  (); }
  public static double  Double () { return gl.DoubleS (); }
  public static boolean Boolean() { return gl.BooleanS(); }
}



[Ovu poruku je menjao krivatcha dana 04.04.2007. u 13:32 GMT+1]
Nebo je boje TV ekrana, sa nepostojecim kanalom.......
 
Odgovor na temu

virtualx
bihać - BIH

Član broj: 5930
Poruke: 3383
*.PPPoE-2119.sa.bih.net.ba.

ICQ: 11


+4 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?04.04.2007. u 12:33 - pre 207 meseci
kompajlirao sam ova prvi kod i evo sta dobi:


drugi kad sam kompajlirao nije bilo gresaka ,ali kad pokrenem program dobijam ovo:



 
Odgovor na temu

krivatcha
Beograd

Član broj: 1042
Poruke: 13
*.ADSL.neobee.net.



Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?04.04.2007. u 12:41 - pre 207 meseci
Sva tri fajla treba da ti se nalaze u istom folderu. Treba da iskompajliras sva tri a startujes samo onaj sa glavnim programom, tj kucas java Kruznica.....Kod mene radi...
Pozdrav...

[Ovu poruku je menjao krivatcha dana 04.04.2007. u 13:57 GMT+1]
Nebo je boje TV ekrana, sa nepostojecim kanalom.......
 
Odgovor na temu

virtualx
bihać - BIH

Član broj: 5930
Poruke: 3383
*.PPPoE-3372.sa.bih.net.ba.

ICQ: 11


+4 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?04.04.2007. u 23:01 - pre 207 meseci
joj ovog koda zadnjeg ,prepao sam kad sam vidio,
a nedaj boze da to profi pokazem kao zadacu,on kaze da tu nema par redova koda za uraditi.
 
Odgovor na temu

JagodaV

Član broj: 86247
Poruke: 26
*.tcsn.qwest.net.

Jabber: jagoda@elitesecurity.org


Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?05.04.2007. u 08:32 - pre 207 meseci
Valjda nije prekasno..

x,y - tacka
a,b - centar
Code:

public class Circledot {

       public static void main(String argv[]) {


    double x=Double.parseDouble(argv[0]);
        double y=Double.parseDouble(argv[1]);
        double a=Double.parseDouble(argv[2]);
        double b=Double.parseDouble(argv[3]);
        double R=Double.parseDouble(argv[4]);
        
        if( Math.pow((x-a),2.0)+ Math.pow((y-b), 2.0)==Math.pow(R,2.0))
       
            System.out.println("Tacka je na kruznici"); 
        
            else
                System.out.println("Tacka nije na kruznici");
                
            
        }
    }

FBzP

 
Odgovor na temu

virtualx
bihać - BIH

Član broj: 5930
Poruke: 3383
*.PPPoE-4670.sa.bih.net.ba.

ICQ: 11


+4 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?05.04.2007. u 15:05 - pre 207 meseci
ok taj kod sam upravo probao.
kompaljirao je bez greske ,ali kad pokrenem problem:

 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12849



+4784 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?05.04.2007. u 16:15 - pre 207 meseci
Nisi zadao parametre. Probaj: java Circledot.java 1 2 3 4 5 ili sa nekim drugim brojevima.
Prvi parametar je x koordinata tacke, drugi y koordinata tacke, treci x kordinata centra, cetvrti y koordinata centra i peti je poluprecnik kruga.
 
Odgovor na temu

tiranin
Dorćol

Član broj: 37185
Poruke: 245
*.dynamic.sbb.co.yu.



Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?05.04.2007. u 19:50 - pre 207 meseci
Koliko se ja razumema problem je u onome .java.
Kompilacija se poziva sa
Code:
javac Program.java

a izvrsava se sa
Code:
java Program

Znaci nema onog .java, a parametri su tu druga prica.
 
Odgovor na temu

JagodaV

Član broj: 86247
Poruke: 26
*.ece.arizona.edu.

Jabber: jagoda@elitesecurity.org


Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?05.04.2007. u 21:38 - pre 207 meseci
U tom .java, i nije nista prosledio.
FBzP

 
Odgovor na temu

virtualx
bihać - BIH

Član broj: 5930
Poruke: 3383
*.PPPoE-2373.sa.bih.net.ba.

ICQ: 11


+4 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?05.04.2007. u 22:04 - pre 207 meseci
e sad radi

 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
89.190.198.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: ispitivanje , da li se tacka nalazi na kruznici?11.04.2007. u 10:40 - pre 207 meseci
Okej evo školskog primera kako se ovo, po mom mišljenju, rešava. Za unos sam izabrao tastaturu, što se rešava sa klasom Scanner.

Kod jednačine koja odlučuje da li tačka pripada kružnici bi moglo biti interesantno par stvari:
Code:
Math.abs(
    Math.pow((ax-px),2) + Math.pow((ay-py),2)
    - r*r
) < epsilon

Funkcija pow se konkretno ovde može zameniti sopstvenom funkcijom koja jednostavno kvadrira datu vrednost, ali neka ostane tako. Kod r nema potrebe zvati je.

Sledeća stvar je epsilon. Kako su gubitci preciznosti kod double mogući, uvek je poželjno ostaviti malo "lufta" po kome tražena vrednost može da varira. Evo primera koji će verovatno vratiti neočekivani false.
Code:
System.out.println(
            (0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1) == (1)
        );

Zato se u okačenom fajlu računa vrednost razlike koja bi u idealnom slučaju trebala da bude nula, ali se jednakost prihvata kao zadovoljena i ako je razlika manja od unapred zadatog broja: epsilon. U slučaju odozgo bi to izgledalo ovako:
Code:
System.out.println(
            Math.abs(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 - 1) < epsilon
        );

Ovo bi već trebalo vraćati true.
Ipak se ++uje.
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Java :: ispitivanje , da li se tacka nalazi na kruznici?

[ Pregleda: 5625 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.