From 330972311fd1b5f11ad5aff0b169f1c1fbb5e13c Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Wed, 12 Feb 2020 12:57:58 -0500 Subject: [PATCH] Move planets to new category; add states; add Gateway Arch; add new area units --- macrovision.html | 1 + macrovision.js | 6 +- media/LICENSES.md | 21 +++++ media/buildings/gateway-arch.svg | 10 +++ media/naturals/alaska.svg | 37 +++++++++ media/naturals/california.svg | 23 ++++++ media/naturals/colorado.svg | 12 +++ media/naturals/florida.svg | 22 +++++ media/naturals/maine.svg | 19 +++++ media/naturals/montana.svg | 15 ++++ media/naturals/new-york.svg | 19 +++++ .../{objects => naturals}/planet-generic.svg | 0 media/{objects => naturals}/saturn.svg | 0 media/naturals/texas.svg | 26 ++++++ presets/buildings.js | 9 +++ presets/naturals.js | 81 +++++++++++++++++++ presets/objects.js | 30 ------- 17 files changed, 300 insertions(+), 31 deletions(-) create mode 100644 media/buildings/gateway-arch.svg create mode 100644 media/naturals/alaska.svg create mode 100644 media/naturals/california.svg create mode 100644 media/naturals/colorado.svg create mode 100644 media/naturals/florida.svg create mode 100644 media/naturals/maine.svg create mode 100644 media/naturals/montana.svg create mode 100644 media/naturals/new-york.svg rename media/{objects => naturals}/planet-generic.svg (100%) rename media/{objects => naturals}/saturn.svg (100%) create mode 100644 media/naturals/texas.svg create mode 100644 presets/naturals.js diff --git a/macrovision.html b/macrovision.html index a4956684..f892b4c6 100644 --- a/macrovision.html +++ b/macrovision.html @@ -10,6 +10,7 @@ + diff --git a/macrovision.js b/macrovision.js index ab6ee425..b0c2d2cc 100644 --- a/macrovision.js +++ b/macrovision.js @@ -24,7 +24,10 @@ const unitChoices = { ], area: [ "cm^2", - "meters^2" + "meters^2", + "kilometers^2", + "acres", + "miles^2" ], mass: [ "kilograms" @@ -778,6 +781,7 @@ function prepareEntities() { availableEntities["buildings"] = makeBuildings(); availableEntities["characters"] = makeCharacters(); availableEntities["objects"] = makeObjects(); + availableEntities["naturals"] = makeNaturals(); availableEntities["vehicles"] = makeVehicles(); availableEntities["characters"].sort((x,y) => { diff --git a/media/LICENSES.md b/media/LICENSES.md index 7b314489..db39330e 100644 --- a/media/LICENSES.md +++ b/media/LICENSES.md @@ -19,6 +19,7 @@ https://commons.wikimedia.org/wiki/File:TallestBuildings.svg * house.svg * mobile-home.svg * mailbox.svg +* gateway-arch.svg # Characters @@ -311,6 +312,26 @@ http://www.furaffinity.net/view/18577161/ * back.svg +# Naturals + +**Self-created** + +* planet-generic.svg +* saturn.svg + +**Theshibboleth [CC BY-SA (http://creativecommons.org/licenses/by-sa/3.0/)]** + +https://commons.wikimedia.org/wiki/File:Blank_US_Map_(states_only).svg + +* alaska.svg +* california.svg +* colorado.svg +* florida.svg +* maine.svg +* montana.svg +* new-york.svg +* texas.svg + # Objects **Self-created** diff --git a/media/buildings/gateway-arch.svg b/media/buildings/gateway-arch.svg new file mode 100644 index 00000000..bafa6223 --- /dev/null +++ b/media/buildings/gateway-arch.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/media/naturals/alaska.svg b/media/naturals/alaska.svg new file mode 100644 index 00000000..6f7a9d00 --- /dev/null +++ b/media/naturals/alaska.svg @@ -0,0 +1,37 @@ + + + + + +Alaska + + + diff --git a/media/naturals/california.svg b/media/naturals/california.svg new file mode 100644 index 00000000..797093f5 --- /dev/null +++ b/media/naturals/california.svg @@ -0,0 +1,23 @@ + + + + + +California + + + diff --git a/media/naturals/colorado.svg b/media/naturals/colorado.svg new file mode 100644 index 00000000..4734991c --- /dev/null +++ b/media/naturals/colorado.svg @@ -0,0 +1,12 @@ + + + + + +Colorado + + diff --git a/media/naturals/florida.svg b/media/naturals/florida.svg new file mode 100644 index 00000000..7bd65f67 --- /dev/null +++ b/media/naturals/florida.svg @@ -0,0 +1,22 @@ + + + + + +Florida + + diff --git a/media/naturals/maine.svg b/media/naturals/maine.svg new file mode 100644 index 00000000..a10634cb --- /dev/null +++ b/media/naturals/maine.svg @@ -0,0 +1,19 @@ + + + + + +Maine + + diff --git a/media/naturals/montana.svg b/media/naturals/montana.svg new file mode 100644 index 00000000..b31b145e --- /dev/null +++ b/media/naturals/montana.svg @@ -0,0 +1,15 @@ + + + + + +Montana + + diff --git a/media/naturals/new-york.svg b/media/naturals/new-york.svg new file mode 100644 index 00000000..cde5f453 --- /dev/null +++ b/media/naturals/new-york.svg @@ -0,0 +1,19 @@ + + + + + +New York + + diff --git a/media/objects/planet-generic.svg b/media/naturals/planet-generic.svg similarity index 100% rename from media/objects/planet-generic.svg rename to media/naturals/planet-generic.svg diff --git a/media/objects/saturn.svg b/media/naturals/saturn.svg similarity index 100% rename from media/objects/saturn.svg rename to media/naturals/saturn.svg diff --git a/media/naturals/texas.svg b/media/naturals/texas.svg new file mode 100644 index 00000000..76071307 --- /dev/null +++ b/media/naturals/texas.svg @@ -0,0 +1,26 @@ + + + + + +Texas + + diff --git a/presets/buildings.js b/presets/buildings.js index 3e165d8b..67bda7f3 100644 --- a/presets/buildings.js +++ b/presets/buildings.js @@ -110,5 +110,14 @@ function makeBuildings() { ) }); + results.push({ + name: "Gateway Arch", + constructor: () => makeBuilding( + "Gateway Arch", + math.unit(630, "feet"), + { source: "./media/buildings/gateway-arch.svg" } + ) + }); + return results; } \ No newline at end of file diff --git a/presets/naturals.js b/presets/naturals.js new file mode 100644 index 00000000..48410fcf --- /dev/null +++ b/presets/naturals.js @@ -0,0 +1,81 @@ +function makeState(name, height, width, area) { + return { + name: name, + constructor: () => makeEntity( + name, + "State", + { + state: { + attributes: { + height: { + name: "Height", + power: 1, + type: "length", + base: height + }, + width: { + name: "Width", + power: 1, + type: "length", + base: width + }, + area: { + name: "Area", + power: 2, + type: "area", + base: area + }, + }, + name: "State", + image: { + source: "./media/naturals/" + name.toLowerCase().replace(" ", "-") + ".svg" + } + } + } + ) + } +} + +function makePlanet(name, diameter, mass, image) { + return { + name: name, + constructor: () => makeObject( + name, + { + body: { + height: diameter, + mass: mass, + image: (image === undefined ? { + source: "./media/objects/planet-generic.svg" + } : image), + name: "Body" + } + } + ) + }; +} + +function makeNaturals() { + const results = []; + results.push(makePlanet("Mercury", math.unit(4879, "km"), math.unit(0.330e24, "kg"))); + results.push(makePlanet("Venus", math.unit(12104, "km"), math.unit(4.87e24, "kg"))); + results.push(makePlanet("Earth", math.unit(12756, "km"), math.unit(5.97e24, "kg"))); + results.push(makePlanet("Moon", math.unit(3475, "km"), math.unit(0.073e24, "kg"))); + results.push(makePlanet("Mars", math.unit(6792, "km"), math.unit(0.642e24, "kg"))); + results.push(makePlanet("Jupiter", math.unit(142984, "km"), math.unit(1898e24, "kg"))); + results.push(makePlanet("Saturn", math.unit(120536, "km"), math.unit(568e24, "kg"), { source: "./media/objects/saturn.svg" })); + results.push(makePlanet("Uranus", math.unit(51118, "km"), math.unit(86.8e24, "kg"))); + results.push(makePlanet("Neptune", math.unit(49528, "km"), math.unit(102e24, "kg"))); + results.push(makePlanet("Pluto", math.unit(2370, "km"), math.unit(0.0146e24, "kg"))); + + results.push(makeState("Alaska", math.unit(2071.44, "km"), math.unit(2483.83, "km"), math.unit(1723337, "km^2"))); + results.push(makeState("California", math.unit(1048.82, "km"), math.unit(852.02, "km"), math.unit(423967, "km^2"))); + results.push(makeState("Colorado", math.unit(442.44, "km"), math.unit(604.47, "km"), math.unit(269601, "km^2"))); + results.push(makeState("Florida", math.unit(716.79, "km"), math.unit(723.97, "km"), math.unit(170312, "km^2"))); + results.push(makeState("Maine", math.unit(505.94, "km"), math.unit(330.98, "km"), math.unit(91633, "km^2"))); + results.push(makeState("Montana", math.unit(497.99, "km"), math.unit(983.98, "km"), math.unit(380831, "km^2"))); + results.push(makeState("New York", math.unit(494.92, "km"), math.unit(536.63, "km"), math.unit(141297, "km^2"))); + results.push(makeState("Texas", math.unit(1183.33, "km"), math.unit(1226.69, "km"), math.unit(695662, "km^2"))); + + return results; +} \ No newline at end of file diff --git a/presets/objects.js b/presets/objects.js index ffcff5d5..3658af3d 100644 --- a/presets/objects.js +++ b/presets/objects.js @@ -31,25 +31,6 @@ function makeObject(name, viewInfo) { return makeEntity(name, "Object", views); } -function makePlanet(name, diameter, mass, image) { - return { - name: name, - constructor: () => makeObject( - name, - { - body: { - height: diameter, - mass: mass, - image: (image === undefined ? { - source: "./media/objects/planet-generic.svg" - } : image), - name: "Body" - } - } - ) - }; -} - function makeObjects() { const results = []; @@ -87,16 +68,5 @@ function makeObjects() { ) }); - results.push(makePlanet("Mercury", math.unit(4879, "km"), math.unit(0.330e24, "kg"))); - results.push(makePlanet("Venus", math.unit(12104, "km"), math.unit(4.87e24, "kg"))); - results.push(makePlanet("Earth", math.unit(12756, "km"), math.unit(5.97e24, "kg"))); - results.push(makePlanet("Moon", math.unit(3475, "km"), math.unit(0.073e24, "kg"))); - results.push(makePlanet("Mars", math.unit(6792, "km"), math.unit(0.642e24, "kg"))); - results.push(makePlanet("Jupiter", math.unit(142984, "km"), math.unit(1898e24, "kg"))); - results.push(makePlanet("Saturn", math.unit(120536, "km"), math.unit(568e24, "kg"), {source: "./media/objects/saturn.svg"})); - results.push(makePlanet("Uranus", math.unit(51118, "km"), math.unit(86.8e24, "kg"))); - results.push(makePlanet("Neptune", math.unit(49528, "km"), math.unit(102e24, "kg"))); - results.push(makePlanet("Pluto", math.unit(2370, "km"), math.unit(0.0146e24, "kg"))); - return results; } \ No newline at end of file