Diskuze: 3D trajektorie
Člen
Zobrazeno 6 zpráv z 6.
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 |
Ahoj,
zkus použít datový typ s větší přesností než má real (třeba extended, nebo double). Mohlo by to pomoci v případě, kdy budou vycházet malá čísla.
Taky sem kdyžtak napiš předpisy těch tří funkcí, které počítáš (pro x, y a z). Jestli čtu ten program dobře, tak jsou předurčeny ke klesání se vzrůstajícím časem t. Kromě činitele exp (který klesá se vzrůstajícím t) se mi zdají ty věci konstantní. Má tomu skutečně tak být?
Děkuji, vlastně jsem tam ještě nezahrnula funkci phi, která je rovněž závislá na čase. Tu tam mám vložit jako funktion nebo zavést další proměnou?
Výpočet funkce phi bych klidně oddělil do samostatné
funkce, která by měla třeba takovouto hlavičku:
{code]
Function Phi(t:Extended):Extended;
[/code]
Jen pak bude třeba předefinovat tvoje aktuální phi na
phi0.
Jelikož tu funkci phi používáš dvakrát, bylo by dobré si její hodnotu pro dané t uložit do proměnné (v každé iteraci cyklu) a následně tuto proměnnou použít při výpočtu jednotlivých omeg, jak vyžaduje předpis. Ale pro tento program to není bezpodmínečné nutné (spíše je to hezké).
program trajektorie;
uses math;
const
nmax = 1000;
I1 = 1;
I2 = 1;
I3 = 3;
O = 1/314;
T0 = 8;
l = 2;
phi0 = 12;
vystup = 1;
soubor = 'trajektorie.dat';
function phi(t:extended):extended;
begin
result:= I3 * (I3-I1)/ (l * I1) * O * cos(T0) * (1 - exp (-l/I3 * t)) + phi0
end;
var
t, x, y, z, dt : extended;
n : integer;
s : text;
begin
case vystup of
2: begin assign(s,soubor); rewrite(s) end;
end;
dt:=pi*2/nmax;
t:=0;
for n:=0 to nmax do begin
t:=t+dt;
x:=O*sin(T0) * exp(-l/I1 * t) * cos(phi(t));
y:=O*sin(T0) * exp(-l/I1 * t) * sin(phi(t));
z:=O*sin(T0) * exp(-l/I3 * t);
case vystup of
1: writeln(x:8:4,y:8:4,z:8:4);
2: writeln(s,x:8:4,y:8:4,z:8:4);
end;
end;
case vystup of
2: begin close(s); writeln('Vytvoren soubor ',soubor,'.') end;
end;
readln;
end.
Jak jsi prosím myslel ten poslední odstavec v minulém příspěvku? Data se stále generují špatně.
Jak jsi prosím myslel ten poslední odstavec v minulém příspěvku? Data se stále generují špatně.
Myslel jsem jej tak, že si založím proměnnou phi_t typu Extended a ten cyklus upravím nějak takto:
for n:=0 to nmax do begin
t:=t+dt;
phi_t := phi(t);
x:=O*sin(T0) * exp(-l/I1 * t) * cos(ph_t);
y:=O*sin(T0) * exp(-l/I1 * t) * sin(phi_t);
z:=O*sin(T0) * exp(-l/I3 * t);
case vystup of
1: writeln(x:8:4,y:8:4,z:8:4);
2: writeln(s,x:8:4,y:8:4,z:8:4);
end;
end;
Výsledek je, že při každé iteraci cyklu se funkce phi počítá jen jednou, ne dvakrát. Ale pro tvoje účely je to jedno.
Jinak mi přijde, že ten kód je, pokud vezmu v potaz ty vzorce nahoře, v
pořádku. Někde si tam teda úplně nejsem jistý, kam zasahuje třeba cosinus
(např. u vzorce pro phi zda se jedna pouze o cos té thety
(nebo co to je
), či zda-li
do něj patří i ten další výraz.
Taky mám trošku pochybnosti o konstantě O. Je to skutečně 1/314, nebo má být v nějakém vztahu k číslu pí? Kdyžtak sem zkus hodit (nebo klidně mně do soukromé zprávy, pokud nechceš zveřejňovat) zadání či dalšíí podrobnosti o tom výpočtu (např. odkud se berou konstanty, co se vlastně počítá za věc), aby se to dalo více zkontrolovat.
Zobrazeno 6 zpráv z 6.