Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • FrameIT/frameworld
1 result
Show changes
Commits on Source (65)
---------------------------
|Add Scroll to Unity Guide|
---------------------------
In archives:
1. Create and build Scroll in "archives\MathHub\FrameIT\frameworld\source\Scrolls" folder.
2. In "archives\MathHub\FrameIT\frameworld\source\DefaultSituationSpace.mmt" include your scroll
3. Build "DefaultSituationSpace.mmt"
In uframeit
1. add your scroll to "UFrameIT\Assets\Scripts\MMTServer\CommunicationProtocoll\MMTConstants.cs"\
2. Add the MMT-constructor you Implemented into Assets\Scripts\MMTServer\CommunicationProtocol\MMTConstants.cs
in Class "GlobalBehaviour" ("UFrameIT\Assets\Scripts\GlobalBehaviour.cs") Method "GetScrollsfromServer()" loads scrolls from "UFrameIT\Assets\StreamingAssets\scrolls.json":
3. Open: "http://localhost:8085/scroll/list" and copy all the text.
4. Now paste this into: "UFrameIT\Assets\StreamingAssets\scrolls.json" and start the game.
if Class "GlobalBehaviour" ("UFrameIT\Assets\Scripts\GlobalBehaviour.cs") Method "GetScrollsfromServer()" loads scrolls from "UFrameIT\Assets\StreamingAssets\scrolls.json":
2. Open: "http://localhost:8085/scroll/list" and copy all the text.
3. Now paste this into: "UFrameIT\Assets\StreamingAssets\scrolls.json" and start the game.
Additional:
If you want to create a new theory you have to include it in the "theory FrameWorldMeta" in: \archives\MathHub\FrameIT\frameworld\source\MetaTheories.mmt,
which is at the bottom of the file.
This ensures your theory is is in the global namespace.
Then if you want to create a theory with a specific type:
you have to specify this at the top:
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ur:?LF ❚
and in you theory do:
include ?FrameITBasics ❙
at the start
## If something fails, restart vscode and try building again. This fixes a lot of errors
# <u><b>Create Fact</b></u>
### <u>Dependency: MMT-Fact already implemented</u>
In all Array-like structures, always add your facts at the bottom.
1. In Assets\InteractionEngine\FactHandling\Facts create your own fact
<u>Your fact should include</u>:
(<i>use the already existing Facts as examples</i>)
<br>
1. A constructor that calls base(). Constructor can have SomDoc, which is the MMT URI as OMS.
Only set the ServerDefinition inside the constructor if you have a good reason to.
2. define: A method parseFact(List<Fact> ret, MMTFact fact).
convert MMTFact fact to Unity Fact and add it to the List<Fact> ret
hint: use FactRecorder.AllFacts[<uri>] to get the Unity Fact belonging to the <uri>
3. define: public override bool HasDependentFact => [true/false]
4. define: GetDeendentFactIds(), which gives back a string array of the dependent URIs of your facts.
5. define: GetHashCode()
6. define: EquivalentWrapped(YOUR_FACTCLASS, YOUR_FACTCLASS), which is a Method that
returns true if the two facts are (approximately) equal
7. define: _ReInitializeMe(Dictionary<string, string> old_to_new), that gets called when the Fact
gets reinstantiated
8. define: MakeMMTDecalaration(), which gives back a new MMTFact.
9. define: Defines(), which gives back a SOMDoc(MMTObject) of your class
2. Add the MMT-fact you Implemented into Assets\Scripts\MMTServer\CommunicationProtocol\MMTConstants.cs
in OMS_TO_TYPE add a line like:
{
ObjectType,
typeof(ObjectFact)
},
3. Then, in Assets\Scripts\InteractionEngine\FactHandling\Facts\Fact.cs
1. add an entry into ParsingDictionary.parseFactDictionary with your MMTConstant as key and the parseFact Method of the Fact class you implemented.
2. Then add a line to the lines that look like
[JsonSubtypes,.KnownSubType(typeof(YOUR_FACTCLASS), nameof(YOUR_FACTCLASS))]
4. In Assets\Scripts\InteractionEngine\FactHandling\FactSpawner.cs
1. Add a variable of type GameObject for your fact.
2. Create a spawn method for your fact.
3. In SpawnFactRepresentation add your Fact to the switch-case statement
5. In the Unity Editor in Assets\Ressources\Prefabs\Facts create the prefab for your Fact.
6. Connect your Prefab to the FactSpawner class
1. Open Assets\Scenes\Worlds\RiverWorld.
2. In the Unity Project Tab goto folder Assets\Scripts\InteractionEngine\FactHandling
3. Rightclick FactSpawner.cs and select "Find References In Scene".
4. In Hirarchy select WorldCursor and add your Fact Prefab into the Inspector.
5. Alternative to 6.2 & 6.3: in hirarchy search: "ref:Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs"
7. Add the Layer of your fact to the LayerMask in WorldFactInteraction
1. Open Assets\Scenes\Worlds\RiverWorld.
2. In the Unity Project Tab goto folder Assets\Scripts\InteractionEngine\
3. Rightclick WorldFactInteraction.cs and select "Find References In Scene"
4. In Hirarchy select MathMenue1_Canvas_0 and add your Fact Layer into the Fact Layer Maks of World Fact Interaction
4. In Hirarchy select HidingCanvas and add your Fact Layer into the Fact Layer Maks of World Fact Interaction
5. Alternative to 6.2 & 6.3: in hirarchy search: "ref:Assets/Scripts/InteractionEngine/WorldFactInteraction.cs"
7. Create an Icon for your Fact
1. Create an Icon-image
1.1 Create an icon-image with dimensions: 200x200 and save it into: "Assets\Scripts\InventoryStuff\Items\images"
1.2 Change the "Texture Type" to: "Sprite (2D and UI)", the "Sprite Mode" to "single" and finally the "Pixel per unit" to "256".
2. Create the prefab for you facticon in: "Assets\Resources\Prefabs\UI\Icons\FactIcons" by copying an existing prefab.
2.1 Drag your created sprite into "Source Image"
2.2 Add or remove additional points associated with your prefab, then edit the variable: "Fact Text" in the script "Fact Object UI".
4. Open: "Assets\Scenes\Worlds\River World"
5. Then search for "DisplayFacts" and open "Factscreen".
6. In both factscreens search for the rownumber of your factclass in "Prefabt Type Readonly" (yes, this is the real name not a typo),
then drag your created prefab into "Prefab Data Config" into the row with the same rownumber.
\ No newline at end of file
1.) create gadget class derived from Gadget in Assets\Scripts\InteractionEngine\Gadgets
2.) add into enum in Gadget class in Assets\Scripts\InteractionEngine\Gadgets\Gadget.cs
3.) add into dictionary in Gadget class in Assets\Scripts\InteractionEngine\Gadgets\Gadget.cs
4.) add a line into the json-definitions at the start of: Assets\Scripts\InteractionEngine\Gadgets\Gadget.cs
-> follow examples, recommendation: always use the class name
5.) go into: Assets\ScriptableObjects\Gadgets
6.) create Scriptable Object in Assets\ScriptableObjects\gadgets
7.) add into Assets\ScriptableObjects\Gadgets\GadgetDataContainerGadgetCollection
8.) in Assets\ScriptableObjects\Gadgets\GadgetDataContainerGadgetCollection add new Element into "Gadget Data" and
"Gadget Type" [same element index]
9.) In "Gadget Data" insert the ScriptableObject you created
10.) in "Gadget Type" insert the enum of the gadget you created
-> in the ScriptableObject you created you can customize your gadget
- Rank: Position in toolbar
- UI Name: name of your gadget
- Button Indx: sets the index of the sprite that is used as the icon in the toolbar,
you can find the indices in Assets\ScriptableObjects\Gadgets\GadgetDataContainerGadgetCollection,
as "Button Sprites", all possible sprites are in Assets\Scripts\InventoryStuff\Items\images
\ No newline at end of file
goto: UFrameIT/Doxygen/output/html/index.html
\ No newline at end of file
......@@ -7,24 +7,30 @@ theory DefaultSituationSpace =
include ?SupplementaryAngles ❙
include ?OppositeLen ❙
include ?AngleSum ❙
// include ?ParallelLines ❙
// include ?InterceptTheorem ❙
// include ?ParallelLines ❙
// include ?InterceptTheorem ❙
include ?Pythagoras❙
include ?CylinderVolumeScroll❙
include ?CircleLineAngleToAngleScroll❙
include ?Midpoint ❙
include ?CircleScroll ❙
include ?BouncingScroll ❙
include ?WBouncingScroll ❙
include ?W3DBouncingScroll ❙
include ?T3DBouncingScroll ❙
// include ?SinOppositeLeg ❙
// include ?SinOppositeLeg ❙
include ?CircleLineAngleScroll ❙
include ?CircleAreaScroll ❙
include ?ConeVolumeScroll ❙
include ?TruncatedConeVolumeScroll ❙
include ?RectangleScroll ❙
include ?CuboidScroll ❙
include ?TriangleScroll ❙
include ?PrismScroll ❙
include ?PyramidScroll ❙
include ?SphereScroll ❙
include ?CylinderScroll ❙
......@@ -3,6 +3,7 @@ namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ur:?LF ❚
/T MMT meta keys and value constructors for meta annotations of facts in situation theories and (input/output) facts in scrolls ❚
theory MetaAnnotations =
include ☞http://mathhub.info/MitM/Foundation?Strings ❙
......@@ -121,6 +122,7 @@ theory FrameITRectangles =
rectangle_type : type ❘ # rect ❙
mkRectangle : { A: point , B : point, C : point , D : point } ( ⊦ isRect A B C D ) ⟶ rect ❘ # mkRect 1 2 3 4 5 ❙
cornerA : rect ⟶ point ❘ # rectA 1 ❙
cornerB : rect ⟶ point ❘ # rectB 1 ❙
......@@ -316,6 +318,81 @@ theory FrameITCylinder =
theory PrismType =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
include ?FrameITBasics ❙
prismType : type ❘ # Prism ❙
prismCons : triangle ⟶ point ⟶ Prism ❘ # PrismCons 1 2 ❙
theory CircleType =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
include ?FrameITBasics ❙
circleType : type ❘ # Circle ❙
circleCons : point ⟶ point ⟶ point ⟶ Circle ❘ # CircleCons 1 2 3 ❙
theory SphereType =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
include ?FrameITBasics ❙
sphereType : type ❘ # Sphere ❙
sphereCons : point ⟶ point ⟶ Sphere ❘ # SphereCons 1 2 ❙
theory RectangleType =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
include ?FrameITBasics ❙
rectangleType : type ❘ # Rectangle ❙
rectangleCons : point ⟶ point ⟶ point ⟶ Rectangle ❘ # RectangleCons 1 2 3 ❙
getA : Rectangle ⟶ point ❘ # getA 1 ❙
getB : Rectangle ⟶ point ❘ # getB 1 ❙
getC : Rectangle ⟶ point ❘ # getC 1 ❙
getAAxiom : {A, B, C} ⊦ ( ( getA ( RectangleCons A B C) ) ≐ A ) ❘ role Simplify❙
getBAxiom : {A, B, C} ⊦ ( ( getB ( RectangleCons A B C) ) ≐ B ) ❘ role Simplify❙
getCAxiom : {A, B, C} ⊦ ( ( getC ( RectangleCons A B C) ) ≐ C ) ❘ role Simplify❙
theory CuboidType =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
include ?FrameITBasics ❙
include ?RectangleType ❙
cuboidType : type ❘ # Cuboid ❙
cuboidCons : Rectangle ⟶ point ⟶ Cuboid ❘ # CuboidCons 1 2 ❙
theory PyramidType =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
include ?FrameITBasics ❙
include ?RectangleType ❙
pyramidType : type ❘ # Pyramid ❙
pyramidCons : Rectangle ⟶ point ⟶ Pyramid ❘ # PyramidCons 1 2 ❙
theory CylinderType =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
include ?FrameITBasics ❙
cylinderType : type ❘ # Cylinder ❙
// takes a midpoint, a point on the edge of the base-circle plane and a point directly above the midpoint ❙
cylinderCons : point ⟶ point ⟶ point ⟶ Cylinder ❘ # CylinderCons 1 2 3 ❙
theory FrameITTheories =
include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
......@@ -324,28 +401,28 @@ theory FrameITTheories =
include ?FrameITCircle ❙
include ?FrameITCone ❙
include ?FrameITCylinder ❙
makeCircleOf3EdgePoints : point ⟶ point ⟶ point ⟶ circle ❘ = [p1,p2,p3 ] mkCirc3D ( Ppara p1 (p2 p-p p1) ( p3 p-p p1) ) ( midTriangle3D ( Δ p1 p2 p3 ) ) ( d- ( midTriangle3D ( Δ p1 p2 p3 ) ) p1 ) ❘ # mkCirc3P3D 1 2 3 ❙
include ?PrismType ❙
include ?CircleType ❙
include ?SphereType ❙
include ?RectangleType ❙
include ?CuboidType ❙
include ?PyramidType ❙
include ?CylinderType ❙
makeCircleOf3EdgePoints : point ⟶ point ⟶ point ⟶ circle ❘ = [p1,p2,p3 ] mkCirc3D ( Ppara p1 (p2 p-p p1) ( p3 p-p p1) ) ( midTriangle3D ( Δ p1 p2 p3 ) ) ( d- ( midTriangle3D ( Δ p1 p2 p3 ) ) p1 ) ❘ # mkCirc3P3D 1 2 3 ❙
/T The meta theory to use for situation theories, scroll problem, and scroll solution theories ❚
theory FrameworldMeta =
include ?MetaAnnotations ❙
include ?FrameITTheories ❙
// include ☞http://mathhub.info/MitM/core/arithmetics?RealArithmetics ❙
// include ☞http://mathhub.info/MitM/core/arithmetics?RealArithmetics ❙
// include ☞http://gl.mathhub.info/MMT/LFX/Sigma?LFSigma ❙
// include ☞http://mathhub.info/MitM/Foundation?Strings ❙
// include ☞http://gl.mathhub.info/MMT/LFX/Sigma?LFSigma ❙
// include ☞http://mathhub.info/MitM/Foundation?Strings ❙
include ☞http://mathhub.info/MitM/Foundation?Math ❙
// include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
// include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
// include ☞http://mathhub.info/MitM/core/geometry?3DGeometry ❙
// include ☞http://mathhub.info/MitM/core/geometry?Planes ❙
......@@ -16,6 +16,9 @@ theory CircleScroll =
❘ meta ?MetaAnnotations?description "A point on the circle" ❙
B : point ❘ meta ?MetaAnnotations?label "B"
❘ meta ?MetaAnnotations?description "A point within the plane the circle should lie in." ❙
dMA : Σ x:ℝ . ⊦ (d- M A) ≐ x
❘ meta ?MetaAnnotations?label "dMA"
❘ meta ?MetaAnnotations?description "The distance from the Midpoint M to the edge point A" ❙
theory Solution =
......
/T Miscellaneous scrolls for playing around/testing that don't have a good home yet ❚
/T Miscellaneous scrolls for playing around/testing that don't have a good home yet ❚
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ?FrameworldMeta ❚
theory CuboidScroll =
meta ?MetaAnnotations?problemTheory ?CuboidScroll/Problem ❙
meta ?MetaAnnotations?solutionTheory ?CuboidScroll/Solution ❙
theory Problem =
R: Rectangle
❘ meta ?MetaAnnotations?label "R"
❘ meta ?MetaAnnotations?description "The rectangle that acts as the foundation."
T: point
❘ meta ?MetaAnnotations?label "T"
❘ meta ?MetaAnnotations?description "The point above the centerpoint of the right angle formed by the rectangle."
theory Solution =
include ?CuboidScroll/Problem ❙
meta ?MetaAnnotations?label "Cuboid" ❙
meta ?MetaAnnotations?description s"Given a rectangle and a top point that lies above the point in the center of the right-angle formed by the squarepoints
this scroll constructs a cuboid." ❙
ConstructedCuboid : Cuboid
❘ = ( CuboidCons R T )
❘ meta ?MetaAnnotations?label s"Cuboid"
❘ meta ?MetaAnnotations?description s"The constructed Cuboid."
\ No newline at end of file
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ?FrameworldMeta ❚
theory CylinderScroll =
meta ?MetaAnnotations?problemTheory ?CylinderScroll/Problem ❙
meta ?MetaAnnotations?solutionTheory ?CylinderScroll/Solution ❙
theory Problem =
M: point
❘ meta ?MetaAnnotations?label "M"
❘ meta ?MetaAnnotations?description "The point in the middle of the bottom circle-plane"
E: point
❘ meta ?MetaAnnotations?label "E"
❘ meta ?MetaAnnotations?description "The point on the edge of the bottom-circle-plane"
T: point
❘ meta ?MetaAnnotations?label "T"
❘ meta ?MetaAnnotations?description "The point directly above the point M"
dME: Σ x:ℝ . ⊦ (d- M E) ≐ x
❘ meta ?MetaAnnotations?label "dME"
❘ meta ?MetaAnnotations?description "The distance from point M to point E, effectively being the Radius."
dMT: Σ x:ℝ . ⊦ (d- M T) ≐ x
❘ meta ?MetaAnnotations?label "dBC"
❘ meta ?MetaAnnotations?description "The distance from point M to point T, the height of the cylinder."
rEMT: ⊦ (∠ E,M,T) ≐ 90.0
❘ meta ?MetaAnnotations?label "rEMT"
❘ meta ?MetaAnnotations?description "A right angle between E, M and T, starting at E."
theory Solution =
include ?CylinderScroll/Problem ❙
meta ?MetaAnnotations?label "Cylinder" ❙
meta ?MetaAnnotations?description s"Given four points: Three points that form the bottom-plane and one directly above this scroll constructs a cylinder" ❙
ConstructedCylinder: Cylinder
❘ = ( CylinderCons M E T )
❘ meta ?MetaAnnotations?label s"Cylinder"
❘ meta ?MetaAnnotations?description s"The constructed Cylinder."
\ No newline at end of file
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ?FrameworldMeta ❚
theory PrismScroll =
meta ?MetaAnnotations?problemTheory ?PrismScroll/Problem ❙
meta ?MetaAnnotations?solutionTheory ?PrismScroll/Solution ❙
theory Problem =
T: triangle
❘ meta ?MetaAnnotations?label "T"
❘ meta ?MetaAnnotations?description "The triangle that forms the foundation."
D: point
❘ meta ?MetaAnnotations?label "D"
❘ meta ?MetaAnnotations?description "Point above one of the edgepoints of the triangle."
theory Solution =
include ?PrismScroll/Problem ❙
meta ?MetaAnnotations?label "Prism" ❙
meta ?MetaAnnotations?description "Scrolls that takes a triangle and a point to construct a Prism." ❙
ConstructedPrism : prismType
❘ = (prismCons T D)
❘ meta ?MetaAnnotations?label "Prism"
❘ meta ?MetaAnnotations?description "The constructed Prism."
\ No newline at end of file
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ?FrameworldMeta ❚
theory PyramidScroll =
meta ?MetaAnnotations?problemTheory ?PyramidScroll/Problem ❙
meta ?MetaAnnotations?solutionTheory ?PyramidScroll/Solution ❙
theory Problem =
R: Rectangle
❘ meta ?MetaAnnotations?label "R"
❘ meta ?MetaAnnotations?description "The rectangle that forms the foundation."
D: point
❘ meta ?MetaAnnotations?label "D"
❘ meta ?MetaAnnotations?description "Point above the rectangle."
theory Solution =
include ?PyramidScroll/Problem ❙
meta ?MetaAnnotations?label "Pyramid" ❙
meta ?MetaAnnotations?description "Scrolls that takes a rectangle and a point to construct a Pyramid." ❙
ConstructedPyramid : Pyramid
❘ = (PyramidCons R D)
❘ meta ?MetaAnnotations?label "Pyramid"
❘ meta ?MetaAnnotations?description "The constructed Pyramid."
\ No newline at end of file
/T Miscellaneous scrolls for playing around/testing that don't have a good home yet ❚
/T Miscellaneous scrolls for playing around/testing that don't have a good home yet ❚
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ?FrameworldMeta ❚
theory RectangleScroll =
meta ?MetaAnnotations?problemTheory ?RectangleScroll/Problem ❙
meta ?MetaAnnotations?solutionTheory ?RectangleScroll/Solution ❙
theory Problem =
A: point
❘ meta ?MetaAnnotations?label "A"
❘ meta ?MetaAnnotations?description "The first edge point"
B: point
❘ meta ?MetaAnnotations?label "B"
❘ meta ?MetaAnnotations?description "The second edge point"
C: point
❘ meta ?MetaAnnotations?label "C"
❘ meta ?MetaAnnotations?description "The third edge point"
rABC: ⊦ (∠ A,B,C) ≐ 90.0
❘ meta ?MetaAnnotations?label "rC"
❘ meta ?MetaAnnotations?description "A right angle between ABC, where B is the point enclosed by A and B"
dAB: Σ x:ℝ . ⊦ (d- A B) ≐ x
❘ meta ?MetaAnnotations?label "dAB"
❘ meta ?MetaAnnotations?description "The distance from point A to point B"
dBC: Σ x:ℝ . ⊦ (d- B C) ≐ x
❘ meta ?MetaAnnotations?label "dBC"
❘ meta ?MetaAnnotations?description "The distance from point B to point C"
theory Solution =
include ?RectangleScroll/Problem ❙
meta ?MetaAnnotations?label "Rectangle" ❙
meta ?MetaAnnotations?description s"Scrolls that takes three points, and given a right-angle fact from the first over the second to the third point,
and the distances from the first to the second, and the second to the third point, constructs a rectangle." ❙
ConstructedRectangle : Rectangle
❘ = (RectangleCons A B C)
❘ meta ?MetaAnnotations?label s"Rectangle"
❘ meta ?MetaAnnotations?description s"The constructed Rectangle."
\ No newline at end of file
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ?FrameworldMeta ❚
theory SphereScroll =
meta ?MetaAnnotations?problemTheory ?SphereScroll/Problem ❙
meta ?MetaAnnotations?solutionTheory ?SphereScroll/Solution ❙
theory Problem =
M: point
❘ meta ?MetaAnnotations?label "M"
❘ meta ?MetaAnnotations?description "Midpoint of the sphere"
T: point
❘ meta ?MetaAnnotations?label "T"
❘ meta ?MetaAnnotations?description "Point on the edge of the sphere"
dMT: Σ x:ℝ . ⊦ (d- M T) ≐ x
❘ meta ?MetaAnnotations?label "dMT"
❘ meta ?MetaAnnotations?description "The distance between the mid- and edgepoint (i.e. the radius)"
theory Solution =
include ?SphereScroll/Problem ❙
meta ?MetaAnnotations?label "Sphere" ❙
meta ?MetaAnnotations?description s"Takes a point as midpoint and an edgepoint, then constructs a Sphere." ❙
ConstructedSphere : Sphere
❘ = ( SphereCons M T )
❘ meta ?MetaAnnotations?label s"Sphere"
❘ meta ?MetaAnnotations?description s"The constructed Sphere."
\ No newline at end of file
namespace http://mathhub.info/FrameIT/frameworld ❚
fixmeta ?FrameworldMeta ❚
theory TriangleScroll =
meta ?MetaAnnotations?problemTheory ?TriangleScroll/Problem ❙
meta ?MetaAnnotations?solutionTheory ?TriangleScroll/Solution ❙
theory Problem =
A: point
❘ meta ?MetaAnnotations?label "A"
❘ meta ?MetaAnnotations?description "The first edge point"
B: point
❘ meta ?MetaAnnotations?label "B"
❘ meta ?MetaAnnotations?description "The second edge point"
C: point
❘ meta ?MetaAnnotations?label "C"
❘ meta ?MetaAnnotations?description "The third edge point"
D: point
❘ meta ?MetaAnnotations?label "D"
❘ meta ?MetaAnnotations?description "The fourth edge point"
dAB: Σ x:ℝ . ⊦ (d- A B) ≐ x
❘ meta ?MetaAnnotations?label s"d${lverb A B}"
❘ meta ?MetaAnnotations?description s"The distance from point ${lverb A} to point ${lverb B}"
dDC: Σ x:ℝ . ⊦ (d- D C) ≐ x
❘ meta ?MetaAnnotations?label s"d${lverb D C}"
❘ meta ?MetaAnnotations?description s"The distance from point ${lverb D} to point ${lverb C}"
rADC: ⊦ (∠ A,D,C) ≐ 90.0
❘ meta ?MetaAnnotations?label s"r${lverb D}"
❘ meta ?MetaAnnotations?description s"A right angle between ${lverb A D C}, where ${lverb D} is the point enclosed by ${lverb A} and ${lverb C}"
theory Solution =
include ?TriangleScroll/Problem ❙
meta ?MetaAnnotations?label "Triangle" ❙
meta ?MetaAnnotations?description "Scrolls that takes three points and constructs a triangle." ❙
ConstructedTriangle : triangle
❘ = (triangle_constructor A B C)
❘ meta ?MetaAnnotations?label "Triangle"
❘ meta ?MetaAnnotations?description "The constructed Triangle."
\ No newline at end of file