Uživatelské nástroje

Nástroje pro tento web


model:revit:revit_kruznice_tremi_body

Kružnice či oblouk třemi body

Zdravím, dnes jedna geometrická i aritmetická úloha. Zkonstruovat kružnici či oblouk 3-mi body v Revitu není problém. Ale pokud to má být parametrický oblouk, tak určení polohy středu kružnice a jejího poloměru už tak jednoduché není. Sestrojit to pomocí os spojnic jednotlivých bodů je jednoduché, pokud to rýsujete. Zadat to Revitu v rodině, aby zobrazení a případné těleso na tuto kružnici napojené fungovalo správně, mne „trochu“ potrápilo :-) . Pro výpočet středu kružnice, když znáte polohu 3 bodů, je využito výpočtu determinantu soustavy rovnic a Cramerova pravidla - přiznávám, že už jsem to vše úspěšně zapomněl. V Revitu v rodině vypadá zadání takto:

tabulka

Pro zjednodušení jsem nedával vše do jednoho vzorce, dokola pak musíte řešit problém nekonzistentních jednotek. Hodnoty x a y jednotlivých bodů mohou být například výška a šířka dveří, třetí bod je na ose dveří ve výšce VO.

Textový zápis pro jednodušší kopírování: m1 = (x1+x2)/2; n1 = (y1+y2)/2; m2 = (x1+x3)/2; n2 = (y1+y3)/2;

c1 = (x2-x1)*m1 + (y2-y1)*n1; c2 = (x3-x1)*m2 + (y3-y1)*n2;

mx = (x2-x1)*(y3-y1)+(y2-y1)*(x1-x3);

csx = (c1*(y3-y1)+c2*(y1-y2))/mx; csy = (c1*(x1-x3)+c2*(x2-x1))/mx;

rs = sqrt1);

Celkový zápis bez úpravy pro konzistentní jednotky:

csx = 2)/ (x2-x1)*(y3-y1)+(y2-y1)*(x1-x3); csy = 3)/ (x2-x1)*(y3-y1)+(y2-y1)*(x1-x3);

Tak jsem snad někomu ušetřil pár horkých chvil.

1)
csx-x1)*(csx-x1)+(csy-y1)*(csy-y1
2)
x2-x1)* (x1+x2)/2 + (y2-y1)* (y1+y2)/2*(y3-y1)+ (x3-x1)* (x1+x3)/2 + (y3-y1)* (y1+y3)/2*(y1-y2
3)
x2-x1)* (x1+x2)/2 + (y2-y1)* (y1+y2)/2*(x1-x3)+ (x3-x1)* (x1+x3)/2 + (y3-y1)* (y1+y3)/2*(x2-x1
model/revit/revit_kruznice_tremi_body.txt · Poslední úprava: 2022/02/09 09:20 autor: marekl