Ei. Koska toinen kolmio on lähempänä, kuten kuvasta näkyy. Suorakulmainen etäisyys on kuitenkin sama.Eikö tuossa ole silloin ihan sama kumpi valitaan tai valitaan molemmat, jos etäisyys on tismalleen sama?
Follow along with the video below to see how to install our site as a web app on your home screen.
Huomio: This feature may not be available in some browsers.
Ei. Koska toinen kolmio on lähempänä, kuten kuvasta näkyy. Suorakulmainen etäisyys on kuitenkin sama.Eikö tuossa ole silloin ihan sama kumpi valitaan tai valitaan molemmat, jos etäisyys on tismalleen sama?
No joku lisäkriteeri sitten jos niille pitää joku ero saada. Esim. etäisyys kaikkiin kolmion kulmiin yhteensä -> pienempi "lähempänä".Se että kumpi kolmio valitaan, kun suorakulmainen etäisyys sekä 1 ja 2 kolmion verteksiin on sama.
Jos lyhin etäisyys on sama, niin eihän se toinen silloin ole lähempänäEi. Koska toinen kolmio on lähempänä, kuten kuvasta näkyy. Suorakulmainen etäisyys on kuitenkin sama.

Ehkä joo tämä voisi toimia. Ei ollut alkuperäisessä kysymyksessä toki, kun tätä tässä samalla yritän pohtia..No joku lisäkriteeri sitten jos niille pitää joku ero saada. Esim. etäisyys kaikkiin kolmion kulmiin yhteensä -> pienempi "lähempänä".
Mutta tätä ei ollut alkuperäisessä kysymyksessä.
Eikö tuosta näe että sininen piste on lähempänä 2 kolmiota, vaikka etäisyys on sekä 1 että 2 kolmioon sama.Jos lyhin etäisyys on sama, niin eihän se toinen silloin ole lähempänä![]()
tässä taitaa tulla ongelmaksi tämä, eli jos tuon kakkoskolmion terävä kärki karkaa todella kauas, jolloin kärkien yhteenlaskettua etäisyyttä laskemalla saadaan lähimmäksi kolmioksi ykkönen.:No joku lisäkriteeri sitten jos niille pitää joku ero saada. Esim. etäisyys kaikkiin kolmion kulmiin yhteensä -> pienempi "lähempänä".
Mutta tätä ei ollut alkuperäisessä kysymyksessä.
Siis onko kolmio 2 kolmion 1 sisällä?Eikö tuosta näe että sininen piste on lähempänä 2 kolmiota, vaikka etäisyys on sekä 1 että 2 kolmioon sama.
Ei ole kolmiot toistensa sisälläSiis onko kolmio 2 kolmion 1 sisällä?
Toisaalta ei tämäkään muuta asiaa mihinkään jos vain haetaan mitä tahansa kolmion pistettä joka on lähinnä.
Jos taas haetaan esim. kolmion massakeskipistettä, niin sitten pitää laskea sillä.
Nyt en kyllä enää ymmärrä mitä tässä yritetään laskea?tässä taitaa tulla ongelmaksi tämä, eli jos tuon kakkoskolmion terävä kärki karkaa todella kauas, jolloin kärkien yhteenlaskettua etäisyyttä laskemalla saadaan lähimmäksi kolmioksi ykkönen.:
![]()
Alkuperäsisessä kuvauksessa annoit ymmärtää, että haetaan raa'asti lähintä kolmiota, eli mitataan etäisyys kolmion lähimpään sivuun/kulmaan ja valitaan se kolmio. nyt tässä taas mietitään kärkivälejä? Eikö tämä jälkimäinen skenaario nyt ratkea sillä, että lasket kolmioiden keskipisteen ja siitä mittaat etäisyyden sitten pisteisiin x,y,z?Valitaan vain kaks lähintä kulmaa jokaiselta kolmiolta?tässä taitaa tulla ongelmaksi tämä, eli jos tuon kakkoskolmion terävä kärki karkaa todella kauas, jolloin kärkien yhteenlaskettua etäisyyttä laskemalla saadaan lähimmäksi kolmioksi ykkönen.:
![]()
Eikö tässä kakkosen lähin piste ole huomattavasti lähempänä kuin ykkösen jolloin muuta ei enää tarvita?tässä taitaa tulla ongelmaksi tämä, eli jos tuon kakkoskolmion terävä kärki karkaa todella kauas, jolloin kärkien yhteenlaskettua etäisyyttä laskemalla saadaan lähimmäksi kolmioksi ykkönen.:
![]()
Kolmion keskipisteestä ei tosiaan tarvitse laskea etäisyyttä, tarkoitin että se vertailtava piste on se kohta, jossa kolmion keskipisteestä lähtevä viiva leikkaa kolmion sivun. Tuo piste on kolmion lähin kohta.Ei kyllä voi toimia niin että lasketaan kolmion keskipisteestä etäisyyttä ja valitaan se jolla on lyhin etäisyys. Esim toisessa kolmiossa sivun mitta voi olla vaikka 1000 ja toisessa 10. Kuitenkin 1000 mittainen kolmio voi olla lähempänä.
Edelleen haetaan raa'asti lähintä kolmiota. Kumpi kolmion keskipiste on lähempänä sinistä pistettä? Ykköskolmion keskipiste voi olla lähmpänä, varsinkin jos tuo kakkoskolmion kärki karkaa todella kauas. Kuitenkin kakkoskolmio on sinistä pistettä lähempänä.Nyt en kyllä enää ymmärrä mitä tässä yritetään laskea?Alkuperäsisessä kuvauksessa annoit ymmärtää, että haetaan raa'asti lähintä kolmiota, eli mitataan etäisyys kolmion lähimpään sivuun/kulmaan ja valitaan se kolmio. nyt tässä taas mietitään kärkivälejä? Eikö tämä jälkimäinen skenaario nyt ratkea sillä, että lasket kolmioiden keskipisteen ja siitä mittaat etäisyyden sitten pisteisiin x,y,z?
Ei mene näin. Tällä tavalla et saa lähintä pistettä.Kolmion keskipisteestä ei tosiaan tarvitse laskea etäisyyttä, tarkoitin että se vertailtava piste on se kohta, jossa kolmion keskipisteestä lähtevä viiva leikkaa kolmion sivun. Tuo piste on kolmion lähin kohta.
Sun pitää määritellä mikä on lähin kolmio. Onko se lähimmän pisteen mukaan, kolmion massakeskipisteen mukaan vai esim. kulmien keskimääräisen etäisyyden mukaan?Edelleen haetaan raa'asti lähintä kolmiota. Kumpi kolmion keskipiste on lähempänä sinistä pistettä? Ykköskolmion keskipiste voi olla lähmpänä, varsinkin jos tuo kakkoskolmion kärki karkaa todella kauas. Kuitenkin kakkoskolmio on sinistä pistettä lähempänä.
Ehkä joo näin toimii. Täytyy koittaa.Eikö tässä kakkosen lähin piste ole huomattavasti lähempänä kuin ykkösen jolloin muuta ei enää tarvita?
Ihan sama tuossa aiemmassa kuvassa siniselle pisteelle.
Minimietäisyys kolmion reunoihin nähden.Sun pitää määritellä mikä on lähin kolmio. Onko se lähimmän pisteen mukaan, kolmion massakeskipisteen mukaan vai esim. kulmien keskimääräisen etäisyyden mukaan?
Minimietäisyys kolmion reunoihin nähden.
Varmaan 2- osaisella päättelyllä kun kaikki yllä olevat ehdotukset yhdistetään:
1. jonkin kolmion kärkipiste on lähempänä kuin mikään muu kärki -> valitaan ko kolmio
2. jos kahdella tai useammalla kolmiolla osuu kärki yhtä lähelle niin silloin tutkitaan näistä kolmioista muutkin kulma -> valitaan lähin.
jos edelleen sama tulos pitää valita jollakin perusteella (koordinaatistossa ylempänä/alempana/oikealla/vasemmalla, järjestyksessä ensimmäinen/viimeinen, jne) kumpi/mikä on lähin kolmio.
Sitten on tämä tilanne johon tuo yllä oleva ei ehkä sovellu jos halutaan kolmion X olevan lähin Y:n sijaan.
1. etsitään lähimmät kulmat,Kärkipisteen perusteella voi löytyä väärä.
Lähin piste on joko kolmion kulma tai kolmion sivulla se kohta, josta on suora kulma pisteeseen. (eli suora kulma tulee kolmion sivun ja ja siitä pisteeseen ulottuvan suoran välille, jos on tullakseen)
Mikä tuossa on ongelma? Kyllä tuon etäisyys suoralle -ratkaisun pitäisi toimia. Neliöjuuria ei tosiaan kannata laskea kuin vasta jos on ihan pakko.
Kärkipisteen perusteella voi löytyä väärä.
Jos haluat puhtaasti matemaattista ratkasua niin kantsii kysellä matikkathreadissa: Matikkatriidi - apuja matemaattisiin pulmiin Menee OT:n puolelle kun ei olekkaan ohjelmointikysymys mutta OP vissiin etsii tätä: Barysentrinen koordinaatti (geometria) – Wikipedia ja valmis ratkasu kolmessa ulottuvuudessa: Minimum distance between point and faceEi ole koulutehtävä, eikä itseasiassia ongelmana loopit yms. vaan puhdas matematiikka, että miten valitaan pisteelle lähin kolmio.
Nyt en ihan ymmärtänyt tuota ympyrän säde hommaan. Niinkö että pisteelle annetaan jokin säde, jotta saadaan selville kolmion sivu, jonka se lähimpänä leikkaa?
Nyt yritän etsiä lähintä kolmiota selvittämällä jokaisen kolmion sivun ja pisteen välisen suorakulmaisen etäisyyden ja valitsen kolmion jossa välimatka on lyhin. Tämä toimii n90% tapauksista...
En usko että nyt tarvitsee käyttää mitään ratkaisua kolmessa ulottuvuudessa, koska kyseessä on puhtaasti 2d pulma. Face on kolmiuloitteinen kappale, jossa esimerkiksi jokaisella nurkkapisteellä on eri Z arvo. Eikö tuo ratkaisu mahda antaa minimietäisyyden siihen faceen, sen Z etäisyyden.Jos haluat puhtaasti matemaattista ratkasua niin kantsii kysellä matikkathreadissa: Matikkatriidi - apuja matemaattisiin pulmiin Menee OT:n puolelle kun ei olekkaan ohjelmointikysymys mutta OP vissiin etsii tätä: Barysentrinen koordinaatti (geometria) – Wikipedia ja valmis ratkasu kolmessa ulottuvuudessa: Minimum distance between point and face
Ehkäpä @hissukka voinee avata mikä on kupletin juoni tässä?
Ei ollu ihan pieni kysymys ohjelmoinnista![]()
Ei kovin ihmeellinenkään. Aika perus. Tuolla yllä se vastaus jo on ja @ade07 sen tuossa vielä graafisestikin esittää.
Joskaan tuo esitys ei kerro miten se vertailu tapahtuu.
Mutta kyllä joo, sen kolmiulotteisen laskennan erikoistapaukset osuu tähän.
# Mukailtu https://stackoverflow.com/a/2233538
def dist(p1, p2, p):
px = p2[0] - p1[0]
py = p2[1] - p1[1]
norm = px * px + py * py
u = ((p[0] - p1[0]) * px + (p[1] - p1[1]) * py) / norm
if u > 1:
u = 1
elif u < 0:
u = 0
x = p1[0] + u * px
y = p1[1] + u * py
dx = x - p[0]
dy = y - p[1]
return (dx * dx + dy * dy) ** 0.5
def kolmion_etäisyys(piste, kolmio):
return min(dist(kolmio[0], kolmio[1], piste),
dist(kolmio[1], kolmio[2], piste),
dist(kolmio[2], kolmio[0], piste))
kolmio = ((2,1), (6,2), (4,3))
piste1 = (2,3)
piste2 = (4,3.5)
print(kolmion_etäisyys(piste1, kolmio))
print(kolmion_etäisyys(piste2, kolmio))
$ python kolmio.py
1.4142135623730951
0.5Joo, joukosta pitäis parsia Liiketoiminnan eperusteiden ammatilliset ja yhteisopinnot sekä niiden opintopistemäärät. Jotain noita HTLM-parsereita jo testailinkin pääsemällä niissä yhtään sen pitemmälle. Nyt ei kyllä kuuppa kestä enää tälle päivälle yhtään enempää, olen aamu ysistä asti nököttänyt tässä koneen äärellä tätä ihmetellen. Nyt lähden hakemaan kaupasta megapussin sipsiä vitutukseen.Mitä sinun siis pitäisi lukea? Parseroida? Kokeile vaikka näillä ohjeilla: Parse HTML in JavaScript.
Lisähauskuuttahan tuossa tuo vielä se, että suoraan HTML:n joukossa ei ole noita asioita mitä pitäisi sieltä kaivaa vaan ne taas tulee sivulle javascriptillä, joten pelkästään sivun HTML:n hakeminen ei vielä riitä. Tuollaisten sivujen parsiminen on muutenkin aika hanurista.Joo, joukosta pitäis parsia Liiketoiminnan eperusteiden ammatilliset ja yhteisopinnot sekä niiden opintopistemäärät. Jotain noita HTLM-parsereita jo testailinkin pääsemällä niissä yhtään sen pitemmälle. Nyt ei kyllä kuuppa kestä enää tälle päivälle yhtään enempää, olen aamu ysistä asti nököttänyt tässä koneen äärellä tätä ihmetellen. Nyt lähden hakemaan kaupasta megapussin sipsiä vitutukseen.
Kiinnostaisi nähdä tarkka tehtävänanto. Kuulostaa vähän epätavalliselta koulutehtävältä, jos tuon urlin kautta pitäs saada parsituksi nuo mainitut.
Ei ole varsinainen "koulutehtävä", vaan kurssilla piti löytää kummiyritys tai vastaavaa jolle ryhmäprojektina voidaan toteuttaa kummiyrityksen toivoma aplikaatio tai websivu tai vastaavaa. Minun 3-hengen ryhmällä on tarkoitus tehdä mobiiliappi liiketoiminnan opiskelijoiden käyttöön, jolla opiskelija voi drag & drop laatikoita vetämällä koostaa oman henkilökohtaisen opetussuunnitelmansa ja esittää tämän vastuuopettajalleen. Näihin vedettäviin laatikoihin olisi tarkoitus eperusteista saada opinnot ja opintoisteiden määrä, ja kyseisiä laatikoita voi vetää lukukauden 5-jakson periodeihin (kesä on se viides) niin että jokaisella periodilla näkyy siihen koottujen opintojen opintopisteiden määrä.Samaa olin tulossa sanomaan, että ei noita tietoja tuolta sivulta palautuvasta HTML:stä ole parsittavissa.
Kiinnostaisi nähdä tarkka tehtävänanto. Kuulostaa vähän epätavalliselta koulutehtävältä, jos tuon urlin kautta pitäs saada parsituksi nuo mainitut.
Joo, APIa on tarkoitus käyttää. On vain koko React ja webhomma itselle vielä ihan uusi juttu, että en ole ihan perillä näistä. Kovaa touhua kun ensimmäinen lukuvuosi opetettiin Pythonia ja C#, joiden ylimääräiseen opiskeluun panostin myös omalla ajallani ihan hemmetisti. Sitten tokan lukuvuoden alussa heitetään tekemään "asiakkaalle" ohjelmaa rajapintaan Reactilla, joka pitäis siinä tekemisen ohessa samalla opetella. Olisivat voineet opettajat vaikka hyvissä ajoin vinkata että tämmöstä tulossa, mutta ei. Tässä painanut ohessa Moocin Fullstack Open-kurssia jossa käydään isommin Reactia, Mongo DB:tä ja muuta mukavaa.Tämä. Olisiko kuitenkin tarkoitus käyttää jotain APIa? HTML:n parsiminen tuolla tavalla on muutoinkin ihan viimeinen oljenkorsi ja hajoaa loputtoman helposti heti kun mitä tahansa muutetaan siellä sivulla. Saati jos se data ei edes tule suoraan HTML:ssä, vaan vaatii skriptin ajamista.
Juu, tiedän kyllä tuon tuskan. Aikanaan tartti yliopistolla yhdellä kurssilla opetella lennosta Python + Flask, HTML ja Javascript + JQuery ja koodaileen semmonen full stack web-sovellus aika nopsalla aikataululla, niin olihan se aika raskas paketti yhdellä kertaa. SQLite tais olla kantana. Toki kurssilla oletettiin, että tuo fronttipuoli (eli HTML ja Javascript) ois ollu jollain tasolla entuudestaan tuttua, mutta ei ollu aikaa käydä esitietokurssejaJoo, APIa on tarkoitus käyttää. On vain koko React ja webhomma itselle vielä ihan uusi juttu, että en ole ihan perillä näistä. Kovaa touhua kun ensimmäinen lukuvuosi opetettiin Pythonia ja C#, joiden ylimääräiseen opiskeluun panostin myös omalla ajallani ihan hemmetisti. Sitten tokan lukuvuoden alussa heitetään tekemään "asiakkaalle" ohjelmaa rajapintaan Reactilla, joka pitäis siinä tekemisen ohessa samalla opetella. Olisivat voineet opettajat vaikka hyvissä ajoin vinkata että tämmöstä tulossa, mutta ei. Tässä painanut ohessa Moocin Fullstack Open-kurssia jossa käydään isommin Reactia, Mongo DB:tä ja muuta mukavaa.
Joo, joku API Gateway + Lambda lienee oikea teknologiavalinta AWS:ssä, jos tarvii saada pienemmällä vaivalla jotain kevyttä palvelua ajoon ja ei halua ylläpitää palvelimia. Pitäs skaalautua ihan riittävästi kaikkeen tavanomaiseen tarpeeseen. muoks. toki, niin kuin jo sanottukin, tää on vähän tällaista heittelyä, kun ei tiedä todellista tarvetta.
ECS-palvelu sit toinen, minne voi pukata kontti-imagea ajoon ja kun ajaa Fargatena, niin ei tarvitse sielläkään palvelimia nostella, mutta tuohon sais sitten väsätä VPC:n, säännöt verkkoliikenteelle, loadbalancerin ja kaikkea sellaista, mihin menee äkkiä useampi päivä aikaa ja ihmettelyä, jos ei oo tuttua. Tulee myös huomattavasti kalliimmaksi kuin tuo eka vaihtoehto.
Kubernetes (AWS:ssä EKS-palvelu) kaikkein raskain, vaatii osaamista ja säännöllistä ylläpitoa versionnostoineen. Ei kannata minusta miettiä, jos ei ole oikeasti tarvetta raskaammalle konttiorkestraatiolle. Pesee kyllä raskaammassa käytössä sit minun makuuni ECS:n osapuilleen kaikessa, jos hallintaan ja ylläpitoon löytyy vaan aikaa ja osaamista.
Tuokin näköjään pyörii konepellin alla AWS-infran päällä.Tuli törmättyä myös tähän Plans and pricing : PythonAnywhere
log_content = pd.read_csv(filename, sep=",", decimal=".")
log_content = log_content.iloc[:-4,11:-9]
average = log_content.describe().loc['mean']
Csv:n kentissä on sekalaisessa formaatissa
Saisko näistä copy-pastena napattua:Olisi kova, jos laitat aivan minimaalisen esimerkin tuosta datasta. Eli näkisi, miten sarakkeiden määrä vaihtelee. Varmaan pari riviä ja muutama sarake riittää.
import pandas as pd
import os
import sys
filename = os.path.abspath(sys.argv[1])
log_content = pd.read_csv(filename, sep=",", decimal=".", header=0)
log_content = log_content.iloc[:-4,11:-9]
log_content.columns = log_content.columns.str.replace('.1', '', regex=True)
log_content.columns = log_content.columns.str.replace('66', ' 16x16', regex=True)
log_content.columns = log_content.columns.str.replace('AMP6', 'AMP 16', regex=True)
log_content = log_content.replace('%', '', regex=True).astype(float)
average = log_content.describe().loc['mean'].to_string()
print (average)
with open(filename+str('.log'), mode='w') as outputfile:
outputfile.write(str(average))
outputfile.close()
Tein nyt tällaisen viritelmän, tuntuisi toimivan yhdellä tapauksella, toinen vaatii vielä tuunausta. Nuo kaksi otsikkotason korjausta on vähän omituinen juttu, csv-tiedostossa otsikot on ihan oikein, mutta read_csv ei tuo niitä sellaisenaan dataframeen vaan muuttaa ne ja korjaan ne takaisin oikeiksi. En löytänyt mitään syytä tuohon![]()
import pandas as pd
import os
import sys
filename = os.path.abspath(sys.argv[1])
log_content = pd.read_csv(filename, sep=",", decimal=".", header=0)
col_count = len(log_content.columns)
sel_cols = []
for i in range(0, col_count):
col_name = log_content.columns[i]
col_type = log_content.dtypes[i]
print("col {}: '{}', type = '{}'".format(i, col_name, col_type))
if "Intra" in col_name or "AMP" in col_name:
sel_cols.append(col_name)
print("Sarakkeet joiden nimessä esiintyy 'Intra' tai 'AMP':")
print(sel_cols)
selected_columns = log_content[sel_cols]
print(selected_columns)
# Tiedetään että valitussa setissä on vain numeroita % poiston jälkeen, muutos object -> float
result = selected_columns.replace('%', '', regex=True).astype(float)
print("Valittujen sarakkeiden keskiarvot:")
# Lasketaan valituille sarakkeille
for column in result.columns:
average = result[column].mean()
print("'{}': average = {}".format(column, average))
# Tulosten kirjoitus ulos...
Käytämme välttämättömiä evästeitä, jotta tämä sivusto toimisi, ja valinnaisia evästeitä käyttökokemuksesi parantamiseksi.