Amerikanci i VW

Kante, pile & nježnički nadomjesci
User avatar
karambol
Posts: 8021
Joined: 09 Jan 2012, 12:55

Re: Amerikanci i VW

Post by karambol » 07 Oct 2015, 23:13

A nisam nista pio danas... :zubo:


Ja cijeli život sanjam kako odlazim uz rijeku starim parobrodom koji vozi sol
I da nosim jednu davnu nikad prežaljenu ljubav tanku, dugačku cigaru i par mamuza od zlata...

User avatar
Zmaj021
Posts: 3443
Joined: 25 Oct 2011, 17:51

Post by Zmaj021 » 07 Oct 2015, 23:14

karambol » wrote:A nisam nista pio danas... :zubo:
sad si na pravom putu! :D



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 09 Oct 2015, 12:58

Zmaj021 » wrote: nigdje nisam rekao bez senzora, samo sam rekao da ih ne treba izmišljat. wss postoji odavno i imaš test koji se radi po onim grafovima, gdje se određena brzina postiže i održava u određenim vremenskim intervalima. sad ti meni reci jel to već dovoljna osnova za ideju kako samo na osnovu toga napraviti softver.. sve preko što ima, super, vjerovatno se može iskoristit, al i ovo je dovoljno, bar liči. :D

matrica ti je data i treba da je prepoznaš. ne znam šta je problem.. :D

očitavaš senzor, detektuješ odstupanja od zadatih konstanti, računaš neku težinsku grešku uzimajući u obzir i vremenski okvir, itd.
nije poso od po sata, al nije ni rokit sajens.

opet, to je jedna od ideja, iz rukava.. dakle da ponovim, iz rukava. :D

šta ti čitaš i shvataš preozbiljno, druga je stvar. :D
I taj softver, na osnovu senzora koji izgleda ipak postoje, smanjuje količinu NOx djelujući na omjer smjese diesela i zraka i vrijeme ubrizgavanja 10 i više puta. Tebi je to sve jasno. Ja sam malo priglup, pa mi nije. :zubo: Što ćeš - ti si iz članaka na internetu izvukao zaključak koji je meni malo čudnovat, ali takvi su ljudi. :)



User avatar
Zmaj021
Posts: 3443
Joined: 25 Oct 2011, 17:51

Post by Zmaj021 » 09 Oct 2015, 18:01

Pero wrote: I taj softver, na osnovu senzora koji izgleda ipak postoje, smanjuje količinu NOx djelujući na omjer smjese diesela i zraka i vrijeme ubrizgavanja 10 i više puta. Tebi je to sve jasno. Ja sam malo priglup, pa mi nije. :zubo: Što ćeš - ti si iz članaka na internetu izvukao zaključak koji je meni malo čudnovat, ali takvi su ljudi. :)
ma jok, ba.. mijenja se geometrija motora.



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 09 Oct 2015, 18:08

Zmaj021 » wrote:
ma jok, ba.. mijenja se geometrija motora.
Pa da, ušrinka se kad je na testu. :zubo:



User avatar
Zmaj021
Posts: 3443
Joined: 25 Oct 2011, 17:51

Post by Zmaj021 » 09 Oct 2015, 18:10

Pero » wrote: Pa da, ušrinka se kad je na testu. :zubo:
eto, vidiš da nije neki problem :D



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 09 Oct 2015, 18:27

Zmaj021 » wrote: eto, vidiš da nije neki problem :D
Nego ja vozim dizela koji je kao EURO5 i troši brat-bratu 20% više nego što mu je deklarirano i nije iz VW koncerna. Jel se i ja trebam zabrinut ko miki za svoju Škodu?



User avatar
Zmaj021
Posts: 3443
Joined: 25 Oct 2011, 17:51

Post by Zmaj021 » 09 Oct 2015, 19:56

Pero » wrote: Nego ja vozim dizela koji je kao EURO5 i troši brat-bratu 20% više nego što mu je deklarirano i nije iz VW koncerna. Jel se i ja trebam zabrinut ko miki za svoju Škodu?
što bi se brinuo? za brigu je kad ti potrošnja skoči van uobičajenih vrijednosti.
..a i teško je skontat koliko bi bilo ok. ono, hrpa je faktora tu: loše gorivo, loši brojači na pumpama, odometar laže, stil vožnje, uslovi vožnje..

litar na pet nije previše. :ne zna:

probaj pronać neki forum, pa uporedit.

meni potrošnja u gradu maltene ne odstupa od deklarisane. za izvangradsku piše 5,7, a meni je minimala bila 6,3 na putu ns-sa-ns, znači, maltene bez autoputa, al po selima i planinama i nešto gradske vožnje po sa. mjereno dopunjavanjem goriva do vrha i lažljivim odometrom. :D
dva puta.

kad idem van države, onda bude oko 8, al to je skoro isključivo autoput, do 130 km/h.
..ne računajući njemačku, tu bome skoči. razbahatim se samo tako.. :zubo:



User avatar
miky0
Site Leader
Posts: 10362
Joined: 29 Sep 2012, 09:38

Post by miky0 » 09 Oct 2015, 21:02

Ukuca sam broj sasije na skodinu stranicu, i pise da mi je skodilac zdrav :lux: :lux: :lux:



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 13 Oct 2015, 19:22

Evo ovi tvrde da ti Škodilak izgleda ipak nije zdrav:
http://www.telegraph.co.uk/finance/news ... tware.html
Oš tužit VW da ti Škodu zamijene s BMW-om? :D



User avatar
miky0
Site Leader
Posts: 10362
Joined: 29 Sep 2012, 09:38

Post by miky0 » 14 Oct 2015, 12:15

Pero » wrote:Evo ovi tvrde da ti Škodilak izgleda ipak nije zdrav:
http://www.telegraph.co.uk/finance/news ... tware.html
Oš tužit VW da ti Škodu zamijene s BMW-om? :D
A kako bas znas da je i moja skoda ukurcu :misli:

Inace sam na onom tamo forumu procita da motori od iljadu sesto kubika zahtjevaju kompliciranu doradu jer se treba svasta nesto u motoru doradit-odeardit, dok u 2,0 ne treba zadirat u motor .ne zna:



User avatar
miky0
Site Leader
Posts: 10362
Joined: 29 Sep 2012, 09:38

Post by miky0 » 14 Oct 2015, 12:15

Pero » wrote:Evo ovi tvrde da ti Škodilak izgleda ipak nije zdrav:
http://www.telegraph.co.uk/finance/news ... tware.html
Oš tužit VW da ti Škodu zamijene s BMW-om? :D
A kako bas znas da je i moja skoda ukurcu :misli:

Inace sam na onom tamo forumu procita da motori od iljadu sesto kubika zahtjevaju kompliciranu doradu jer se treba svasta nesto u motoru doradit-odeardit, dok u 2,0 ne treba zadirat u motor :ne zna:



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 14 Oct 2015, 14:47

miky0 » wrote:
A kako bas znas da je i moja skoda ukurcu :misli:

Inace sam na onom tamo forumu procita da motori od iljadu sesto kubika zahtjevaju kompliciranu doradu jer se treba svasta nesto u motoru doradit-odeardit, dok u 2,0 ne treba zadirat u motor :ne zna:
Ne znam, ovi pišu i o Škodama i ne prave razliku jel motor 1.6 ili 2.0. A zašto misliš da ne bi varali na jačem motoru koji logično proizvodi i više CO2 i NOx?



User avatar
miky0
Site Leader
Posts: 10362
Joined: 29 Sep 2012, 09:38

Post by miky0 » 14 Oct 2015, 19:18

Pero » wrote: Ne znam, ovi pišu i o Škodama i ne prave razliku jel motor 1.6 ili 2.0. A zašto misliš da ne bi varali na jačem motoru koji logično proizvodi i više CO2 i NOx?
Ne kazem da ne bi varali, samo kazem da je ispravak kod jaceg motora jednostavniji, dok je u slabijeg kompliciraniji jer zahtjeva nekakve radnje unutar samog motora. Navodno.

Inace, ako moju skodu trebaju tako ispizdit, ne zelim takav auto. Ko zna koliko ce onda imat slabije reference.



nodens
Posts: 3042
Joined: 09 Dec 2011, 17:15

Post by nodens » 15 Oct 2015, 14:57

Pero » wrote:Dobro, ja sam kao nodens, a ti pomalo priznaješ da ti za softver koji bi časkom napravio za VW trebaju neki senzori. :D Ne njih puno, al ti trebaju. Nisi baš stoposto siguran koji su ti potrebni da specificiraš hardversku konfiguraciju al da ti daju u ruke da im napišeš softver, ti bi iz priloženih dijagrama testiranja to napravio u čas posla. :D Meni je svojedobno trebalo jedno tjedan dana da u C-u napišem algoritam koji određuje da li je točka unutar ili izvan proizvoljno zadanog poligona sa proizvoljnim brojem vrhova i to još kad sam bio mlad. :zubo: Al gdje bih se ja mogao mjeriti s tobom. :zubo:
Ja nisam više tako ni mlad, ali evo za pola minute mozganja mislim da imam rješenje. :zubo:

Znači, imaš neku točku, i proizvoljni broj vrhova, poredanih tako da tvore bilo kakav poligon. Može biti i konkavan, no nagađam da se valjda ne mogu bridovi poligona 'sjeći'. :zubo: (ako mogu, onda ovo dolje rješenje mislim da ne bi ferceralo)

Evo ti algoritam:

1. Nađeš bilo koju točku koja se nalazi izvan poligona (npr. zato što su joj obje koordinate manje od minimalne dotične koordinate svih vrhova). Ta točka skupa s točkom koja se testira, tvori 'testnu dužinu'.

2. Za sve bridove poligona (od točke n. do n+1) pogledaš siječe li se taj brid s testnom dužinom.

3. Ako testna dužina siječe neparni broj bridova, onda je točka unutar poligona, inače je izvan.


Ako se testna dužina točno preklapa s bilo kojim bridom, onda ima 2 mogućnosti: ako je testna točka baš na tom bridu, onda se može valjda računati da je 'unutar' poligona; a ako nije na tom bridu, nego je brid sadržan u testnoj dužini (to je jedina druga mogućnost s obzirom da je točka iz prvog koraka izvan cijelog poligona), onda dotični brid treba ignorirati (kao da se ne siječe, ne mijenja 'parnost' iz trećeg koraka).


Što ti se čini? :D Nisam doduše provjerio bi li ovo radilo, no ovako napamet mi se čini da bi svakako moralo, ne vjerujem da bi mi trebalo više od pol sata za to iskodirat. :zubo:



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 15 Oct 2015, 18:22

nodens » wrote:
Znači, imaš neku točku, i proizvoljni broj vrhova, poredanih tako da tvore bilo kakav poligon. Može biti i konkavan, no nagađam da se valjda ne mogu bridovi poligona 'sjeći'. :zubo: (ako mogu, onda ovo dolje rješenje mislim da ne bi ferceralo)
Bridovi poligona se mogu sjeći - zapravo možeš imati sastav od više nezavisnih poligona koji se dodiruju u jednoj točki ili stranici. Sve ovisi o poretku vrhova u ulaznoj tablici. :zubo:



nodens
Posts: 3042
Joined: 09 Dec 2011, 17:15

Post by nodens » 15 Oct 2015, 18:43

Hm ok, (iako si to trebao napomenuti) :rofl:

Dakle, trebalo bi se prvo naći skup 'svih' bridova, tako što nađeš eventualna sjecišta bilo koja 2 brida (to bi onda bilo O(n^2) sporo), ta sjecišta onda postaju novi vrhovi, čini mi se da bi algoritam i tako funkcionirao. Jer, ako ti novi bridovi sačinjavaju npr. 2 poligona koji se 'dodiruju' u nekoj točki sjecišta 2 brida, opet vrijedi da bi točka 'unutar' bilo kojeg od tih dodirujućih poligona, morala sjeći neparni broj bridova kad 'odlazi ravnom linijom u beskonačnost'. A ti svi proračuni sjecišta su relativno jednostavna analitička geometrija, istina je da sam to sve pozaboravljao no nagađam da bih se lako ufurao natrag u to. :zubo:


S tim da bi se moralo posebno provjeravati jesu li ta sjecišta točno u nekom od vrhova, pa ih ne računati 2 puta nego samo jednom. Enivej, nije trivijalno... no kako si ti to onda riješio, na kraju?



nodens
Posts: 3042
Joined: 09 Dec 2011, 17:15

Post by nodens » 15 Oct 2015, 18:44

Ups, krivo, moralo bi se specijalno hendlat slučaj kad ta testna dužina slučajno prolazi točno kroz neko sjecište 2 brida. :rofl:



MightyMe
Posts: 5163
Joined: 07 Oct 2011, 15:32

Post by MightyMe » 15 Oct 2015, 18:49

nodens » wrote:
Ja nisam više tako ni mlad, ali evo za pola minute mozganja mislim da imam rješenje. :zubo:

Znači, imaš neku točku, i proizvoljni broj vrhova, poredanih tako da tvore bilo kakav poligon. Može biti i konkavan, no nagađam da se valjda ne mogu bridovi poligona 'sjeći'. :zubo: (ako mogu, onda ovo dolje rješenje mislim da ne bi ferceralo)

Evo ti algoritam:

1. Nađeš bilo koju točku koja se nalazi izvan poligona (npr. zato što su joj obje koordinate manje od minimalne dotične koordinate svih vrhova). Ta točka skupa s točkom koja se testira, tvori 'testnu dužinu'.

2. Za sve bridove poligona (od točke n. do n+1) pogledaš siječe li se taj brid s testnom dužinom.

3. Ako testna dužina siječe neparni broj bridova, onda je točka unutar poligona, inače je izvan.


Ako se testna dužina točno preklapa s bilo kojim bridom, onda ima 2 mogućnosti: ako je testna točka baš na tom bridu, onda se može valjda računati da je 'unutar' poligona; a ako nije na tom bridu, nego je brid sadržan u testnoj dužini (to je jedina druga mogućnost s obzirom da je točka iz prvog koraka izvan cijelog poligona), onda dotični brid treba ignorirati (kao da se ne siječe, ne mijenja 'parnost' iz trećeg koraka).


Što ti se čini? :D Nisam doduše provjerio bi li ovo radilo, no ovako napamet mi se čini da bi svakako moralo, ne vjerujem da bi mi trebalo više od pol sata za to iskodirat. :zubo:
Dobra ideja. Meni je palo napamet da ne idem po bridovima nego po kutovima. Kompliciranije od ovoga, ali mislim da mi se isto moglo napravit da radi za svakakve poligone.



nodens
Posts: 3042
Joined: 09 Dec 2011, 17:15

Post by nodens » 15 Oct 2015, 19:45

MightyMe » wrote: Dobra ideja. Meni je palo napamet da ne idem po bridovima nego po kutovima. Kompliciranije od ovoga, ali mislim da mi se isto moglo napravit da radi za svakakve poligone.

Usput sam još malo ovlaš razmišljao i algoritam fulava u slučaju da testna dužina točno prolazi kroz neki od vrhova. Te slučajeve bi trebalo posebno hendlat da se ustanovi jel ta točka 'siječe' kut koji zatvaraju dva brida (onda se broji 'jednom') ili pak 'dodiruje' taj kut (onda dvaput, tj. nijednom).

Pitam se je l' to uopće potrebno ili bi se moglo heuristički, onak, uzet 'random' točku izvan 'bounding rectangle' od poligona, pa ako se slučajno testna dužina dodiruje s bilo kojim od vrhova, onda naprosto uzeti drugu slučajnu točku. Čini mi se da je vjerojatnost tog slučaja toliko mala da bi već za 2-3 iteracije postala nanoskopski mala :rofl:

A u tom slučaju, nije uopće ni potrebno tražiti eventualna sjecišta bridova. Jer, ako testna dužina nekim slučajem čak i prolazi točno jednim od tih sjecišta, to znači da prolazi 'točno između' dva dodirujuća poligona, a tada je sasvim ok da se računa kao da 'siječe 2 brida'. Nego dakle, dovoljno je odabrati slučajnu točku izvan bounding rectangle svih vrhova, provjeriti prolazi li dužina od te točke do testne kroz bilo koji od vrhova, pa ako prolazi - uzeti drugu slučajnu točku... i onda ono dalje. Pogledati koliko bridova siječe, ako je neparan broj - točka je unutar poligona.



MightyMe
Posts: 5163
Joined: 07 Oct 2011, 15:32

Post by MightyMe » 15 Oct 2015, 22:49

Pa i nije to toliko kompliciran slučaj. Budući da funkcija koja bi gledala sijeku li se dužine mora znat početnu i krajnju točku brida, to je jednostavno detektirat. Najjednostavnije rješenje bi bilo onda da izađe iz svega i da random izabere novu točku. Ili možeš malo komplicirat pa da ti ta funkcija vraća točno kroz koji vrh prolazi pa da onda ne provjeravaš drugi brid. Ali to nije u dugu prethodnog koda koji radi na KISS principu. :D



nodens
Posts: 3042
Joined: 09 Dec 2011, 17:15

Post by nodens » 16 Oct 2015, 13:10

LOL, radi. :rofl:

Code: Select all

package hr.abf.example;

import java.awt.Point;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;


public class Polygon implements Iterable<Point> {

  private List<Point> vertices;
  
  public Polygon() {
    vertices = new ArrayList<Point>();
  }
  
  public void reset() {
    vertices.clear();
  }
  
  public void addVertex(Point v) {
    vertices.add(v);
  }
  
  public int count() {
    return vertices.size();
  }
  
  @Override
  public Iterator<Point> iterator() {
    return vertices.iterator();
  }
  
  public boolean contains(Point tp) {
    if (edgesContain(tp)) return true;
    
    Rectangle bounds = findBoundingRectangle();
    
    Point out = getRandomPointOutside(bounds);
    while (vertIntersectsWith(tp, out))
      out = getRandomPointOutside(bounds);
    
    int intersections = 0;
    Point lv = null;
    for (Point v: vertices) {
      if (lv != null && edgeIntersectsWith(lv, v, tp, out))
        ++intersections;
      lv = v;
    }
    if (edgeIntersectsWith(lv, vertices.get(0), tp, out))
      ++intersections;
    
    return intersections % 2 == 1;
  }
  
  private boolean edgesContain(Point p) {
    Point lv = null;
    for (Point v: vertices) {
      if (lv != null && lineContainsPoint(lv, v, p)) return true;
      lv = v;
    }
    return lineContainsPoint(lv, vertices.get(0), p);
  }
  
  private Rectangle findBoundingRectangle() {
    if (vertices.size() == 0) return new Rectangle(0, 0, 0, 0);
    
    int minx = vertices.get(0).x, miny = vertices.get(0).y;
    int maxx = minx, maxy = miny;
    
    for (Point v: vertices) {
      if (v.x < minx) minx = v.x;
      if (v.x > maxx) maxx = v.x;
      if (v.y < miny) miny = v.x;
      if (v.y > maxy) maxy = v.x;
    }
    return new Rectangle(minx, miny, maxx - minx, maxy - miny);
  }
  
  private Point getRandomPointOutside(Rectangle bounds) {
    Random r = new Random();
    int dx = r.nextInt(bounds.width), dy = r.nextInt(bounds.height);
    if (r.nextBoolean()) {
      dy += bounds.y;
      dx = (dx < bounds.width / 2) ? bounds.x - 1 - dx : bounds.x + bounds.width / 2 + 5 + dx;  
    } else {
      dx += bounds.x;
      dy = (dy < bounds.height / 2) ? bounds.y - 5 - dy: bounds.y + bounds.height / 2 + 5 + dy;
    }
    return new Point(dx, dy);
  }
  
  private boolean lineContainsPoint(Point from, Point to, Point p) {
    return p.x >= Math.min(from.x, to.x) && p.x <= Math.max(from.x, to.x) &&
           p.y >= Math.min(from.y, to.y) && p.y <= Math.max(from.y, to.y) && 
        isParallelWith(p, to, from, to);
  }
  
  private boolean vertIntersectsWith(Point from, Point to) {
    for (Point v: vertices) 
      if (lineContainsPoint(from, to, v)) return true;
    
    return false;
  }
  
  private boolean edgeIntersectsWith(Point v1, Point v2, Point from, Point to) {
    if (isParallelWith(v1, v2, from, to)) return false;
    
    return isPointBelow(v1, from, to) != isPointBelow(v2, from, to) &&
        isPointBelow(from, v1, v2) != isPointBelow(to, v1, v2);
  }
  
  private boolean isParallelWith(Point v1, Point v2, Point from, Point to) {
    return (v1.y - v2.y) * (from.x - to.x) == (v1.y - v2.x) * (from.y - to.y); 
  }
  
  private boolean isPointBelow(Point p, Point from, Point to) {
    return (p.y - from.y) * (from.x - to.x) - (from.y - to.y) * (p.x - from.x) > 0;
  }
}
Paz kak sam lijepo našao jel se dvije dužine sijeku. :zubo: Prvo sam htio čisto onako - analitička geometrija, jednadžbe pravca, rješavanje sustava jednadžbi i provjera rubova - no onda bih morao petljat s realnim brojevima, ovako je sve lijepo integer. To je ova metoda 'edgeIntersectsWith'.


A evo i male klase za vizualno testiranje ovog gore:

Code: Select all

package hr.abf.example;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Poly extends JFrame {
  
  private Polygon main = new Polygon();
  private View scr = new View();
  private JLabel status = new JLabel();
  
  private JButton start = new JButton("Reset");
  private JButton test = new JButton("Test");
  
  private boolean testing = false;
  private Point last = null;

  public Poly() {
    setLayout(new BorderLayout());
    scr.setPreferredSize(new Dimension(800, 600));
    
    JPanel up = new JPanel(new FlowLayout());
    up.add(start);
    up.add(test);
    
    getContentPane().add(scr);
    getContentPane().add(up, BorderLayout.NORTH);
    getContentPane().add(status, BorderLayout.SOUTH);
    
    test.setEnabled(false);
    start.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        main.reset();
        testing = false;
        last = null;
        scr.repaint();
        status.setText("");
        
        test.setEnabled(false);
      }
    });
    test.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        testing = true;
        scr.repaint();
        status.setText("");
        
        test.setEnabled(false);
      }
    });
    
    scr.addMouseListener(new MouseAdapter() {
      @Override
      public void mouseClicked(MouseEvent e) {
        if (testing) testPoint(e.getPoint());
        else {
          main.addVertex(e.getPoint());
          if (main.count() > 2) test.setEnabled(true);
          scr.repaint();
        }
      }
    });
  }
  
  void testPoint(Point p) {
    last = p;
    scr.repaint();
    status.setText("The point is" + (main.contains(p) ? "" : " NOT") + " inside the polygon");
  }
  
  Point getLastPoint() {
    return last;
  }
  
  public static void main(String[] args) {
    Poly p = new Poly();
    p.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    p.pack();
    p.setVisible(true);
  }
  
  boolean isTestMode() {
    return testing;
  }
  
  public class View extends JPanel {
    @Override
    public void paint(Graphics g) {
      g.setColor(getBackground());
      g.fillRect(getX(), getY(), getWidth(), getHeight());
      g.setColor(getForeground());
      Point vp = null, fp = null;
      for (Point p: main) {
        if (vp != null) g.drawLine(vp.x, vp.y, p.x, p.y);
        else fp = p;
        vp = p;
      }
      if (isTestMode()) { 
        g.drawLine(vp.x, vp.y, fp.x, fp.y);
        Point p = getLastPoint();
        if (p != null) {
          g.drawLine(p.x - 2, p.y, p.x + 2, p.y);
          g.drawLine(p.x, p.y - 2, p.x, p.y + 2);
        }
      }
    }
  }
}

:rofl:



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 16 Oct 2015, 13:20

Svaka čast ako radi - ne znam Javu, pa ne mogu provjeriti. :zubo: Moj kod u C-u je davno spremljen na nekim 5,25" disketama u Veroni. :)



nodens
Posts: 3042
Joined: 09 Dec 2011, 17:15

Post by nodens » 16 Oct 2015, 13:49

Pero » wrote:Svaka čast ako radi - ne znam Javu, pa ne mogu provjeriti. :zubo: Moj kod u C-u je davno spremljen na nekim 5,25" disketama u Veroni. :)
A kako je radio? Ako nije prekomplicirano za objasnit... :D



User avatar
Pero
Posts: 2159
Joined: 20 May 2012, 22:31

Post by Pero » 16 Oct 2015, 14:08

nodens » wrote:
A kako je radio? Ako nije prekomplicirano za objasnit... :D
Firma za koju sam radio imala je svoju vlastitu SCADU tada - ono softver za vizualizaciju postrojenja koji se upotrebljavao i za upravljanje sa posebnim custom rađenim modulima. Jedan kupac je iz ne znam kojih razloga imao potrebu za tim algoritmom. Napisao sam ga u C-u i vizualizirao na ekranu (nacrtao polinom i točku) čiji je SW također bio pisan u C-u - s dvije kućice - TRUE/FALSE. Nemam više pojma ni zašto je to trebalo, bilo je pred više od 20 godina. :zubo:



Post Reply