Skip to content

Instantly share code, notes, and snippets.

@bsa7
Last active October 10, 2018 13:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bsa7/73b92c13fb1142f0507742d885b46f45 to your computer and use it in GitHub Desktop.
Save bsa7/73b92c13fb1142f0507742d885b46f45 to your computer and use it in GitHub Desktop.
Расчёт размеров цилиндрического аэростата для подъёма двухэтажного дома из бруса.
const длинаДома = 12 // м
const ширинаДома = 11 // м
const высотаДома = 6 // м
const периметрДомаСПятойСтеной = (длинаДома + высотаДома) * 3 // м
const сечениеБруса = 0.18 * 0.18 // м²
const объёмОдногоВенца = периметрДомаСПятойСтеной * сечениеБруса // м³
const количествоВенцов = 6 / 0.18 // шт
const объёмМатериалСтенДома = объёмОдногоВенца * количествоВенцов // м³
const плотностьСосны = 500 // кг/м³
const весСтенДома = объёмМатериалСтенДома * плотностьСосны // кг
const площадьДна = 11 * 12 // м²
const толщинаДна = 0.01 // м
const объёмМатериалаДна = площадьДна * толщинаДна // м³
const плотностьСтали = 7800 // кг/м³
const весМатериалаДна = объёмМатериалаДна * плотностьСтали // кг
const общийВесДнаИСтен = весМатериалаДна + весСтенДома // кг
const общийВесДомаСЗапасом = общийВесДнаИСтен * 4 // кг
const массаГаза = ({ объёмГаза, плотностьГаза }) => {
const масса = плотностьГаза * объёмГаза
return масса
}
const объёмАэростата = ({ масса = 200000, плотностьВоздуха = 1.2041, плотностьГелия = 0.179 } = {}) => {
const объёмГаза = масса / (плотностьВоздуха - плотностьГелия)
return объёмГаза
}
const радиусКруга = ({ площадьКруга }) => {
return Math.sqrt(площадьКруга / Math.PI)
}
const площадьПоверхностиЦилиндра = ({ диаметрЦилиндра, длинаЦилиндра }) => {
const площадьБоковойПоверхности = Math.PI * диаметрЦилиндра * длинаЦилиндра
const площадьТорцов = 2 * (Math.PI * (диаметрЦилиндра / 2)) ** 2
return площадьБоковойПоверхности + площадьТорцов
}
const длинаАэростата = 120 // м
const площадьПоперечногоСеченияАэростата = объёмАэростата() / длинаАэростата
const диаметрАэростата = радиусКруга({ площадьКруга: площадьПоперечногоСеченияАэростата }) * 2
console.log(`общийВесДомаСЗапасом: ${общийВесДомаСЗапасом}, кг`)
console.log(`Длина аэростата: ${длинаАэростата} м.`)
console.log(`Диаметр аэростата: ${диаметрАэростата} м.`)
console.log(`'Площадь ткани на изготовление аэростата: ${площадьПоверхностиЦилиндра({
диаметрЦилиндра: диаметрАэростата,
длинаЦилиндра: длинаАэростата,
})} м²`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment