diff --git a/docs/tutorial.md b/docs/tutorial.md deleted file mode 100644 index 9de1432b..00000000 --- a/docs/tutorial.md +++ /dev/null @@ -1,209 +0,0 @@ -#Tutorial - -###The main goal of this tutorial is to show all capabilities of ... (this part will be supplemented) - -The simple visualization can be made with function `main`. (this part will be supplemented as well) -```kotlin -import kotlinx.html.div -import space.kscience.dataforge.context.Context -import space.kscience.visionforge.html.ResourceLocation -import space.kscience.visionforge.solid.* -import java.nio.file.Paths - -fun main(){ - val context = Context{ - plugin(Solids) - } - - context.makeVisionFile ( - Paths.get("customFile.html"), - resourceLocation = ResourceLocation.EMBED - ){ - div { - vision { - solid { - } - } - } - } -} -``` -##Solids properties -**We will analyze which basic properties solids have using `box` solid.** - -Basic properties: -1. `opacity` - It is set in `float`. It takes on values from 0 to 1, which represent percents of solid opacity. It's initial value is 1. -2. `color` - It can be specified as `Int`, `String`, or as three `Ubytes`, which represent color in `rgb`. Elementally, the solid will have `green` color. -3. `rotation` - it's the point, around which the solid will be rotated. Initially, the value is `Point3D(0, 0, 0)` -4. position, which is given by values `x`, `y`, `z`. Initial values are `x = 0`, `y = 0`, `z = 0` - -Let's see how properties are set in solids. -The `small box` will have elemental values of properties. If you will not set properties, it will have the same `position`, `color`, `rotation`, and `opacity` values. - -***You can see that `box` take four values. Later, we will discuss what they are doing in more detail. Now, it does not really matter.*** -```kotlin -box(10, 10, 10, name = "small box"){ - x = 0 - y = 0 - z = 0 - opacity = 1 //100% opacity - color("red") //as string - rotation = Point3D(0, 0, 0) -} -``` -![](../docs/images/small-box.png) - -The `big box` will have properties with custom values. -```kotlin -box(40, 40, 40, name = "big box"){ - x = 20 - y = 10 - z = 60 - opacity = 0.5 //50% opacity - color(0u, 179u, 179u) //color in rgb - rotation = Point3D(60, 80, 0) -} -``` -![](../docs/images/big-rotated-box.png) - -If we compare these boxes, we will see all differences. - -Here is the function `main` with both boxes. -```kotlin -fun main(){ - val context = Context{ - plugin(Solids) - } - - context.makeVisionFile ( - Paths.get("customFile.html"), - resourceLocation = ResourceLocation.EMBED - ){ - div { - vision { - solid { - box(10, 10, 10, name = "small box"){ - x = 0 - y = 0 - z = 0 - opacity = 1 //100% opacity - color("red") //as string - rotation = Point3D(0, 0, 0) - } - box(40, 40, 40, name = "big box"){ - x = 20 - y = 10 - z = 60 - opacity = 0.5 //50% opacity - color(0u, 179u, 179u) //rgb - rotation = Point3D(60, 80, 0) - } - } - } - } - } -} -``` -![](../docs/images/two-boxes-1.png) -![](../docs/images/two-boxes-2.png) - -###Basic Solids - -Now, let's see which solids can be visualized: -1) PolyLine -2) Box - ```kotlin - box(50, 50, 50, name = "box") { - x = 0 - y = 0 - z = 0 - color("pink") - } - ``` - ![](../docs/images/box.png) - ```kotlin - box(10, 25, 10, name = "high_box") { - x = 0 - y = 0 - z = 0 - color("black") - } - ``` - ![](../docs/images/high-box.png) - - ```kotlin - box(65, 40, 40, name = "wide_box") { - x = 0 - y = 0 - z = 0 - color("black") - } - ``` - ![](../docs/images/wide-box.png) - -3) Sphere - ```kotlin - sphere(50, name = "sphere") { - x = 0 - y = 0 - z = 0 - color("blue") - } - ``` - ![](../docs/images/sphere.png) -4) Hexagon - ```kotlin - hexagon( - Point3D(25, 30, 25), - Point3D(35, 30, 25), - Point3D(35, 30, 15), - Point3D(25, 30, 15), - Point3D(30, 18, 20), - Point3D(40, 18, 20), - Point3D(40, 18, 10), - Point3D(30, 18, 10), - name = "classic_hexagon"){ - color("green") - } - ``` - ![](../docs/images/classic-hexagon.png) - ```kotlin - hexagon( - Point3D(5, 30, 5), - Point3D(24, 30, 8), - Point3D(20, 30, -10), - Point3D(5, 30, -7), - Point3D(8, 16, 0), - Point3D(12, 16, 0), - Point3D(10, 16, -5), - Point3D(6.5, 12, -3), - name = "custom_hexagon"){ - color("brown") - } - ``` - ![](../docs/images/custom-hexagon.png) -5) Cone - ```kotlin - cone(60, 80, name = "cone") { - x = 0 - y = 0 - z = 0 - color("beige") - } - ``` - ![](../docs/images/cone-1.png) - ![](../docs/images/cone-2.png) -6) Cone Surface - ```kotlin - coneSurface(60, 50, 30, 10, 100, name = "cone_surface") { - x = 0 - y = 0 - z = 0 - color("red") - rotation = Point3D(2, 50, -9) - } - ``` - ![](../docs/images/cone-surface-1.png) - ![](../docs/images/cone-surface-2.png) -7) Extruded -