Diskuze: algoritmus rozmistovani po obvodu kola
Člen
Zobrazeno 7 zpráv z 7.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
a co pouzit analytickou geometrii a kreslit javascriptem v prohlizeci na <canvas>?
tedy jestli jsem spravne pochopil, o co ti jde ...
x = xs + r * cos(alfa)
y = ys + r * sin(alfa)
kde:
[xs, ys] jsou souradnice stredu kruznice
r je polomer kruznice
alfa je uhel (v radianech) rotace daneho bodu kruznice kolem stredu kruznice ve
vzdalenosti r
a vysledkem dvou vzorcu vyse je bod [x,y] na kruznici
staci plny uhel ( 360° ve stupních nebo v našem případě v radiánech v javascriptu 2*Math.PI) podělit počtem lopatek a máš úhel, o který se po kružnici pohneš před vykreslením každé lopatky
tedy pro napr 8 lopatek ti nasledujici kod vykresli 8 usecek presne jako na obrazku v priloze
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Lopatky</title>
</head>
<body>
<canvas id="mujcanvas" width="200" height="200"></canvas>
<script>
var plopatek = 8; // pocet lopatek
var krok = (Math.PI*2)/plopatek;
var xs = 100; ys = 100; // souradnice stredu kruznice
var r = 50; // polomer kruznice
var alfa = 0; // aktualni uhel rotace
var canvas = document.getElementById('mujcanvas');
if (canvas.getContext)
{
var context = canvas.getContext('2d');
for(var i=0;i<plopatek;i++)
{
var x = xs + r * Math.cos(alfa);
var y = ys + r * Math.sin(alfa);
context.beginPath();
context.moveTo(xs,ys);
context.lineTo(x,y);
context.stroke();
alfa += krok;
}
}
</script>
</body>
</html>
jo, ted koukam, ze jsem strelil vedle
ty to chces v asciiartu a ne v
grafice
Dik. Problem nespociva v kresleni, ale v umistovani lopatek do kola (to dal
nekdo do forka u c#, tusim a celkem mne to zaujalo), pole tak, aby celkove
teziste bylo uprostred.
Jen zkousim vykutit na to nejaky logicky algoritmus. Mam par reseni, ktera
nejsou prilis dobra. A jako nejlepsi zatim vychazi rozmistit to nahodne a pak
zkusit nahodne dve vzajemne propojit a prepocitat, zda je teziste lepcejsi.
To, co chci ted zkusit, a uz mam par napadu, kde delam chybu proti puvodnimu planu.
0: [x:1, y:0, m:-1, vz:-1]
1: [x:-1, y:0, m:-1, vz:-1] // v pripade dvou je to treba x = +-1, y = 0
...
app.func.lopatkaPoloha = function(lopatka, n, n_max)
{
var alfa;
alfa = n/(n_max) * 2 * Math.PI;
// lopatka.rad = alfa;
lopatka.n = n;
lopatka.x = Math.cos(alfa);
lopatka.y = Math.sin(alfa);
return lopatka;
}
Hmotnosti ale muzu zasat treba serazene podle velikosti za sebou na pozice 0, 1, 2, 3, ... nebo je rozmistovat jinak, jinym algoritmem, treba do hvezdice. V pripade 18 lopatek jsou to pozice 0-5-11, 2-8-14,... 2 je stred mezi 0 a 5 a pak se to cele komplikuje a nechtelo se mi premyslet. Takhle to je v pripade, ze mam 18 lopatek, 18 pozic. Ale mozna to budu resit postupnym doplnovanim, zacnu skolem jen se 3 pozicemi, pak pridam dalsi a s koncim s kolem s 18 pozicemi. to by asi mohlo jit lepe resit.
jenom bych asi spis dal
lopatka.x = n*(polomer/n_max)*Math.cos(alfa);
lopatka.y = n*(polomer/n_max)*Math.sin(alfa);
nez
lopatka.x = Math.cos(alfa);
lopatka.y = Math.sin(alfa);
abys
ale jestli uz to mas poresene nekde jinde, tak sorry
jinak problém vývahy samotné mi bude ještě trvat, než to celé pozřu a
mentálně zpracuju. zatím na to spíš koukám z uctivé vzdálenosti 
Zobrazeno 7 zpráv z 7.