Skip to content

Commit

Permalink
Track 158 files into repository.
Browse files Browse the repository at this point in the history
- modified .gitignore
- modified .htaccess.txt
- modified 01_Introduction/1-1_preface.md
- modified 01_Introduction/1-1_what_is_visual_programming.md
- modified 01_Introduction/1-2_what_is_dynamo.md
- modified 01_Introduction/1-3_dynamo_in_action.md
- modified 01_Introduction/1-X_key_concepts.md
- modified 01_Introduction/1_introduction.md
- modified 01_Introduction/datasets/1-1/Visual Programming - Circle Through Point.dyn
- modified 01_Introduction/images/.gitkeep
- modified 02_Hello-Dynamo/2-1_launching_dynamo.md
- modified 02_Hello-Dynamo/2-2_the_dynamo_ui.md
- modified 02_Hello-Dynamo/2-3_the_workspace.md
- modified 02_Hello-Dynamo/2-4_the_workflow.md
- modified 02_Hello-Dynamo/2-5_file_types_and_management.md
- modified 02_Hello-Dynamo/2-6_the_quick_start_guide.md
- modified 02_Hello-Dynamo/2_hello_dynamo.md
- modified 02_Hello-Dynamo/images/.gitkeep
- modified 03_Anatomy-of-a-Dynamo-Definition/3-1_dynamo_nodes.md
- modified 03_Anatomy-of-a-Dynamo-Definition/3-2_dynamo_libraries.md
- modified 03_Anatomy-of-a-Dynamo-Definition/3-3_wiring_programs.md
- modified 03_Anatomy-of-a-Dynamo-Definition/3-4_best_practices.md
- modified 03_Anatomy-of-a-Dynamo-Definition/3-5_presets.md
- modified 03_Anatomy-of-a-Dynamo-Definition/3_anatomy-of-a-dynamo-definition.md
- modified 03_Anatomy-of-a-Dynamo-Definition/datasets/3-5/Presets.dyn
- modified 03_Anatomy-of-a-Dynamo-Definition/images/.gitkeep
- modified 04_The-Building-Blocks-of-Programs/4-1_data.md
- modified 04_The-Building-Blocks-of-Programs/4-2_math.md
- modified 04_The-Building-Blocks-of-Programs/4-3_logic.md
- modified 04_The-Building-Blocks-of-Programs/4-4_strings.md
- modified 04_The-Building-Blocks-of-Programs/4-5_color.md
- modified 04_The-Building-Blocks-of-Programs/4_the-building-blocks-of-programs.md
- modified 04_The-Building-Blocks-of-Programs/datasets/4-1/Building Blocks of Programs - Data.dyn
- modified 04_The-Building-Blocks-of-Programs/datasets/4-2/Building Blocks of Programs - Math.dyn
- modified 04_The-Building-Blocks-of-Programs/datasets/4-3/Building Blocks of Programs - Logic.dyn
- modified 04_The-Building-Blocks-of-Programs/datasets/4-4/Building Blocks of Programs - Strings.dyn
- modified 04_The-Building-Blocks-of-Programs/datasets/4-5/Building Blocks of Programs - Color.dyn
- modified 04_The-Building-Blocks-of-Programs/datasets/4-5/BuildingBlocks of Programs - ColorOnSurface.dyn
- modified 04_The-Building-Blocks-of-Programs/images/.gitkeep
- modified 05_Geometry-for-Computational-Design/5-1_geometry-overview.md
- modified 05_Geometry-for-Computational-Design/5-2_vectors.md
- modified 05_Geometry-for-Computational-Design/5-3_points.md
- modified 05_Geometry-for-Computational-Design/5-4_curves.md
- modified 05_Geometry-for-Computational-Design/5-5_surfaces.md
- modified 05_Geometry-for-Computational-Design/5-6_solids.md
- modified 05_Geometry-for-Computational-Design/5-7_meshes.md
- modified 05_Geometry-for-Computational-Design/5-8_importing.md
- modified 05_Geometry-for-Computational-Design/5_geometry-for-computational-design.md
- modified 05_Geometry-for-Computational-Design/datasets/5-1/Geometry for Computational Design - Geometry Overview.dyn
- modified 05_Geometry-for-Computational-Design/datasets/5-2/Geometry for Computational Design - Coordinate System.dyn
- modified 05_Geometry-for-Computational-Design/datasets/5-2/Geometry for Computational Design - Plane.dyn
- modified 05_Geometry-for-Computational-Design/datasets/5-2/Geometry for Computational Design - Vectors.dyn
- modified 05_Geometry-for-Computational-Design/datasets/5-3/Geometry for Computational Design - Points.dyn
- modified 05_Geometry-for-Computational-Design/datasets/5-4/Geometry for Computational Design - Curves.dyn
- modified 05_Geometry-for-Computational-Design/datasets/5-5/Geometry for Computational Design - Surfaces.dyn
- modified 05_Geometry-for-Computational-Design/datasets/5-6/Geometry for Computational Design - Solids.dyn
- modified 05_Geometry-for-Computational-Design/images/5-1/Geometry for Computational Design - Geometry Overview.dyn
- modified 05_Geometry-for-Computational-Design/images/5-2/Geometry for Computational Design - Coordinate System.dyn
- modified 05_Geometry-for-Computational-Design/images/5-2/Geometry for Computational Design - Plane.dyn
- modified 05_Geometry-for-Computational-Design/images/5-2/Geometry for Computational Design - Vectors.dyn
- modified 05_Geometry-for-Computational-Design/images/5-3/Geometry for Computational Design - Points.dyn
- modified 05_Geometry-for-Computational-Design/images/5-4/Geometry for Computational Design - Curves.dyn
- modified 05_Geometry-for-Computational-Design/images/5-5/Geometry for Computational Design - Surfaces.dyn
- modified 05_Geometry-for-Computational-Design/images/5-6/Geometry for Computational Design - Solids.dyn
- modified 06_Designing-with-Lists/6-1_whats-a-list.md
- modified 06_Designing-with-Lists/6-2_working-with-lists.md
- modified 06_Designing-with-Lists/6-3_lists-of-lists.md
- modified 06_Designing-with-Lists/6-4_n-dimensional-lists.md
- modified 06_Designing-with-Lists/6_designing-with-lists.md
- modified 06_Designing-with-Lists/datasets/6-1/Lacing.dyn
- modified 06_Designing-with-Lists/datasets/6-2/List-Count.dyn
- modified 06_Designing-with-Lists/datasets/6-2/List-FilterByBooleanMask.dyn
- modified 06_Designing-with-Lists/datasets/6-2/List-GetItemAtIndex.dyn
- modified 06_Designing-with-Lists/datasets/6-2/List-Operations.dyn
- modified 06_Designing-with-Lists/datasets/6-2/List-Reverse.dyn
- modified 06_Designing-with-Lists/datasets/6-2/List-ShiftIndices.dyn
- modified 06_Designing-with-Lists/datasets/6-3/Chop.dyn
- modified 06_Designing-with-Lists/datasets/6-3/Combine.dyn
- modified 06_Designing-with-Lists/datasets/6-3/Flatten.dyn
- modified 06_Designing-with-Lists/datasets/6-3/Listatlevel.dyn
- modified 06_Designing-with-Lists/datasets/6-3/Map.dyn
- modified 06_Designing-with-Lists/datasets/6-3/ReplaceItems.dyn
- modified 06_Designing-with-Lists/datasets/6-3/Top-Down-Hierarchy.dyn
- modified 06_Designing-with-Lists/datasets/6-3/Transpose.dyn
- modified 06_Designing-with-Lists/datasets/6-4/n-Dimensional-Lists.dyn
- modified 06_Designing-with-Lists/images/6-1/urls.txt
- modified 07_Code-Block/7-1_what-is-a-code-block.md
- modified 07_Code-Block/7-2_Design-Script-syntax.md
- modified 07_Code-Block/7-3_shorthand.md
- modified 07_Code-Block/7-4_functions.md
- modified 07_Code-Block/7_Code-Blocks-and-Design-Script.md
- modified 07_Code-Block/datasets/7-2/Dynamo-Syntax_Attractor-Surface.dyn
- modified 07_Code-Block/datasets/7-3/Obsolete-Nodes_Sine-Surface.dyn
- modified 07_Code-Block/datasets/7-4/Functions_SphereByZ.dyn
- modified 08_Dynamo-for-Revit/8-1_The-Revit-Connection.md
- modified 08_Dynamo-for-Revit/8-2_Selecting.md
- modified 08_Dynamo-for-Revit/8-3_Editing.md
- modified 08_Dynamo-for-Revit/8-4_Creating.md
- modified 08_Dynamo-for-Revit/8-5_Customizing.md
- modified 08_Dynamo-for-Revit/8-6_Documenting.md
- modified 08_Dynamo-for-Revit/8_Dynamo-for-Revit.md
- modified 08_Dynamo-for-Revit/datasets/8-2/Selecting.dyn
- modified 08_Dynamo-for-Revit/datasets/8-3/Editing.dyn
- modified 08_Dynamo-for-Revit/datasets/8-4/ARCH-DirectShape-BaseFile.rvt
- modified 08_Dynamo-for-Revit/datasets/8-4/Creating.dyn
- modified 08_Dynamo-for-Revit/datasets/8-4/DirectShape.dyn
- modified 08_Dynamo-for-Revit/datasets/8-5/Customizing.dyn
- modified 08_Dynamo-for-Revit/datasets/8-6/Documenting.dyn
- modified 09_Custom-Nodes/9-1_Introduction.md
- modified 09_Custom-Nodes/9-2_Creating.md
- modified 09_Custom-Nodes/9-3_Library.md
- modified 09_Custom-Nodes/9-4_Python.md
- modified 09_Custom-Nodes/9-5_Python-Revit.md
- modified 09_Custom-Nodes/9_Custom-Nodes.md
- modified 09_Custom-Nodes/datasets/9-2/backup/MapPolygonsToSurface.dyf.0.backup
- modified 09_Custom-Nodes/datasets/9-2/backup/UVmapping_Custom-Node.dyn.0.backup
- modified 09_Custom-Nodes/datasets/9-2/MapPolygonsToSurface.dyf
- modified 09_Custom-Nodes/datasets/9-2/UVmapping_Custom-Node.dyn
- modified 09_Custom-Nodes/datasets/9-2/UVmapping_srf.sat
- modified 09_Custom-Nodes/datasets/9-3/PointsToSurface.dyf
- modified 09_Custom-Nodes/datasets/9-4/patternFromSolidModule.dyf
- modified 09_Custom-Nodes/datasets/9-4/Python-CustomNode.dyn
- modified 09_Custom-Nodes/datasets/9-4/Python_Custom-Node.dyn
- modified 09_Custom-Nodes/datasets/9-5/Revit-Doc.dyn
- modified 09_Custom-Nodes/datasets/9-5/Revit-ReferenceCurve.dyn
- modified 09_Custom-Nodes/datasets/9-5/Revit-StructuralFraming.dyn
- modified 10_Packages/10-1_Introduction.md
- modified 10_Packages/10-2_Mesh-Toolkit.md
- modified 10_Packages/10-3_Creating.md
- modified 10_Packages/10-3_Developing.md
- modified 10_Packages/10-4_Publishing.md
- modified 10_Packages/10-5_Zero-Touch.md
- modified 10_Packages/10-Packages.md
- modified 10_Packages/datasets/10-2/Mesh-Toolkit_Intersect-Mesh.dyn
- modified 11_Web_Experience/11-1_Introduction.md
- modified 11_Web_Experience/11-2_Send_to_Web.md
- modified 11_Web_Experience/11-3_Customizer_View.md
- modified 11_Web_Experience/datasets/Attractor Scale.dyn
- modified 11_Web_Experience/old/datasets/11-1/Pattern_Rotation.dyn
- modified 11_Web_Experience/old/datasets/11-2/PeakAndTroughSrf.dyf
- modified 11_Web_Experience/old/datasets/11-2/UV-Mapping.dyn
- modified Appendix/A-1_resources.md
- modified Appendix/A-2_index-of-nodes.md
- modified Appendix/A-3_packages.md
- modified Appendix/A-4_example-files.md
- modified Appendix/A_appendix.md
- modified Archive/color.md
- modified Archive/core.md
- modified Archive/data.md
- modified Archive/logic.md
- modified Archive/math.md
- modified Archive/strings.md
- modified book.json
- modified README.md
- modified styles/ebook.css
- modified styles/print.css
- modified styles/website.css
- modified SUMMARY.md

Auto commit by GitBook Editor
  • Loading branch information
paulscrugham committed Dec 19, 2016
1 parent ff1b2b6 commit 28fe38b
Show file tree
Hide file tree
Showing 158 changed files with 11,987 additions and 11,987 deletions.
28 changes: 14 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Node rules:
## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

## Dependency directory
## Commenting this out is preferred by some people, see
## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git
node_modules

# Book build output
_book

# eBook build output
*.epub
# Node rules:
## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

## Dependency directory
## Commenting this out is preferred by some people, see
## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git
node_modules

# Book build output
_book

# eBook build output
*.epub
*.mobi
16 changes: 8 additions & 8 deletions .htaccess.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Git does not allow commiting .htaccess, so instructions here
# Put the following under DocumentRoot/.htaccess
RewriteEngine on
RewriteRule ^(ja) - [L]
RewriteRule ^(de) - [L]
RewriteRule ^(.*)$ /en/$1 [R=301,NC,L]

# Put the following under DocumentRoot/en/.htaccess to prevent redirect forever
# Git does not allow commiting .htaccess, so instructions here
# Put the following under DocumentRoot/.htaccess
RewriteEngine on
RewriteRule ^(ja) - [L]
RewriteRule ^(de) - [L]
RewriteRule ^(.*)$ /en/$1 [R=301,NC,L]
# Put the following under DocumentRoot/en/.htaccess to prevent redirect forever
RewriteEngine on
88 changes: 44 additions & 44 deletions 01_Introduction/1-1_preface.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
## 1.1 PREFACE

###1.1.1 Welcome

Welcome Text
- background, previous versions, ml dynamo activities
- our excitement to have developed this primer (where dynamo is going)
- the ambitions around the project (fundamental concepts, cross-disciplinary ie use the sandbox,
- this is guide to the current dynamo version
- team signature

###1.1.2 About this Primer

- this primer introduces you to...
- the first four chapters
- the quick arc of this version
- special thanks to Matt Jezyk, Zach Kron, and Colin McCrone

###1.1.3 Software

Dynamo 0.8
(dynamo blurb)
_note about future primer chapters on revit, speedform, web_

###1.1.4 Resources

*DynamoBIM*
(blurb about DynamoBIM)
http://dynamobim.org

*Dynamo GitHub*
(to contribute...)
https://github.com/ikeough/Dynamo


###1.1.5 References

*Wolfram MathWorld*
MathWorld is an online mathematics resource, assembled by Eric W. Weisstein with assistance from thousands of contributors. Since its contents first appeared online in 1995, MathWorld has emerged as a nexus of mathematical information in both the mathematics and educational communities. Its entries are extensively referenced in journals and books spanning all educational levels.
http://mathworld.wolfram.com/

*More Websites*

*Books*
## 1.1 PREFACE

###1.1.1 Welcome

Welcome Text
- background, previous versions, ml dynamo activities
- our excitement to have developed this primer (where dynamo is going)
- the ambitions around the project (fundamental concepts, cross-disciplinary ie use the sandbox,
- this is guide to the current dynamo version
- team signature

###1.1.2 About this Primer

- this primer introduces you to...
- the first four chapters
- the quick arc of this version
- special thanks to Matt Jezyk, Zach Kron, and Colin McCrone

###1.1.3 Software

Dynamo 0.8
(dynamo blurb)
_note about future primer chapters on revit, speedform, web_

###1.1.4 Resources

*DynamoBIM*
(blurb about DynamoBIM)
http://dynamobim.org

*Dynamo GitHub*
(to contribute...)
https://github.com/ikeough/Dynamo


###1.1.5 References

*Wolfram MathWorld*
MathWorld is an online mathematics resource, assembled by Eric W. Weisstein with assistance from thousands of contributors. Since its contents first appeared online in 1995, MathWorld has emerged as a nexus of mathematical information in both the mathematics and educational communities. Its entries are extensively referenced in journals and books spanning all educational levels.
http://mathworld.wolfram.com/

*More Websites*

*Books*
124 changes: 62 additions & 62 deletions 01_Introduction/1-1_what_is_visual_programming.md
Original file line number Diff line number Diff line change
@@ -1,62 +1,62 @@
###What is Visual Programming?

Designing frequently involves establishing visual, systemic, or geometric relationships between the parts of a design. More times than not, these relationships are developed by workflows that gets us from concept to result by way of rules. Perhaps without knowing it, we are working algorithmically - defining a step-by-step set of actions that follow a basic logic of input, processing, and output. Programming allows us to continue to work this way but by formalizing our algorithms.

###Algorithms in Hand
While offering some powerful opportunities, the term **Algorithm** can carry some misconceptions with it. Algorithms can generate unexpected, wild, or cool things, but they are not magic. In fact, they are pretty plain, in and of themselves. Let's use a tangible example like an origami crane. We start with a square piece of paper (input), follow a series of folding steps (processing actions), and result in a crane (output).

![Origami Crane](images/1-1/00-OrigamiCrane.png)

So where is the Algorithm? It is the abstract set of steps, which we can represent in a couple of ways - either textually or graphically.

**Textual Instructions:**
1. Start with a square piece of
paper, coloured side up. Fold in half and open. Then fold in half the other way.
2. Turn the paper over to the white side. Fold the paper in half, crease well and open, and then fold again in the other direction.
3. Using the creases you have made, Bring the top 3 corners of the model down to the bottom corner. Flatten model.
4. Fold top triangular flaps into the center and unfold.
5. Fold top of model downwards, crease well and unfold.
6. Open the uppermost flap of the model, bringing it upwards and pressing the sides of the model inwards at the same time. Flatten down, creasing well.
7. Turn model over and repeat Steps 4-6 on the other side.
8. Fold top flaps into the center.
9. Repeat on other side.
10. Fold both ‘legs’ of model up, crease very well, then unfold.
11. Inside Reverse Fold the “legs” along the creases you just made.
12. Inside Reverse Fold one side to make a head, then fold down the wings.
13. You now have a crane.

**Graphical Instructions:**

![Needs Update- Origami Crane](images/1-1/01-OrigamiCraneInstructions.png)

###Programming Defined
Using either of these sets of instructions should result in a crane, and if you followed along yourself, you've applied an algorithm. The only difference is the way in which we read the formalization of that set of instructions and that leads us to **Programming**. Programming, frequently shortened from *Computer Programming*, is the act of formalizing the processing of a series of actions into an executable program. If we turned the above instructions for a creating crane into a format our computer can read and execute, we are Programming.

The key to and first hurdle we will find in Programming, is that we have to rely on some form of abstraction to communicate effectively with our computer. That takes the form of any number of Programming Languages, such as Javascript, Python, or C. If we can write out a repeatable set of instructions, like for the origami crane, we only need to translate it for the computer. We are on our way to having the computer be able to make a crane or even a multitude of different cranes where each one varies slightly. This is the power of Programming - the computer will repeatedly execute whatever task, or set of tasks, we assign to it, without delay and without human error.

####Visual Programming Defined
>Download the example file that accompanies this exercise (Right click and "Save Link As..."): [Visual Programming - Circle Through Point.dyn](datasets/1-1/Visual Programming - Circle Through Point.dyn). A full list of example files can be found in the Appendix.
If you were tasked with writing instructions for folding an origami crane, how would you go about it? Would you make them with graphics, text, or some combination of the two?

If your answer contained graphics, then **Visual Programming** is definitely for you. The process is essentially the same for both Programming and Visual Programming. They utilize the same framework of formalization; however, we define the instructions and relationships of our program through a graphical (or "Visual") user interface. Instead of typing text bound by syntax, we connect pre-packaged nodes together. Here's a comparison of the same algorithm - "draw a circle through a point" - programmed with nodes versus code:

**Visual Program:**

![Basic Visual Program ](images/1-1/03-BasicVisualProgram.png)

**Textual Program:**
```
myPoint = Point.ByCoordinates(0.0,0.0,0.0);
x = 5.6;
y = 11.5;
attractorPoint = Point.ByCoordinates(x,y,0.0);
dist = myPoint.DistanceTo(attractorPoint);
myCircle = Circle.ByCenterPointRadius(myPoint,dist);
```
The results of our algorithm:

![Circle Through Point ](images/1-1/04-CircleThroughPoint.png)

The visual characteristic to programming in such a way lowers the barrier to entry and frequently speaks to designers. Dynamo falls in the Visual Programming paradigm, but as we will see later, we can still use textual programming in the application as well.

###What is Visual Programming?

Designing frequently involves establishing visual, systemic, or geometric relationships between the parts of a design. More times than not, these relationships are developed by workflows that gets us from concept to result by way of rules. Perhaps without knowing it, we are working algorithmically - defining a step-by-step set of actions that follow a basic logic of input, processing, and output. Programming allows us to continue to work this way but by formalizing our algorithms.

###Algorithms in Hand
While offering some powerful opportunities, the term **Algorithm** can carry some misconceptions with it. Algorithms can generate unexpected, wild, or cool things, but they are not magic. In fact, they are pretty plain, in and of themselves. Let's use a tangible example like an origami crane. We start with a square piece of paper (input), follow a series of folding steps (processing actions), and result in a crane (output).

![Origami Crane](images/1-1/00-OrigamiCrane.png)

So where is the Algorithm? It is the abstract set of steps, which we can represent in a couple of ways - either textually or graphically.

**Textual Instructions:**
1. Start with a square piece of
paper, coloured side up. Fold in half and open. Then fold in half the other way.
2. Turn the paper over to the white side. Fold the paper in half, crease well and open, and then fold again in the other direction.
3. Using the creases you have made, Bring the top 3 corners of the model down to the bottom corner. Flatten model.
4. Fold top triangular flaps into the center and unfold.
5. Fold top of model downwards, crease well and unfold.
6. Open the uppermost flap of the model, bringing it upwards and pressing the sides of the model inwards at the same time. Flatten down, creasing well.
7. Turn model over and repeat Steps 4-6 on the other side.
8. Fold top flaps into the center.
9. Repeat on other side.
10. Fold both ‘legs’ of model up, crease very well, then unfold.
11. Inside Reverse Fold the “legs” along the creases you just made.
12. Inside Reverse Fold one side to make a head, then fold down the wings.
13. You now have a crane.

**Graphical Instructions:**

![Needs Update- Origami Crane](images/1-1/01-OrigamiCraneInstructions.png)

###Programming Defined
Using either of these sets of instructions should result in a crane, and if you followed along yourself, you've applied an algorithm. The only difference is the way in which we read the formalization of that set of instructions and that leads us to **Programming**. Programming, frequently shortened from *Computer Programming*, is the act of formalizing the processing of a series of actions into an executable program. If we turned the above instructions for a creating crane into a format our computer can read and execute, we are Programming.

The key to and first hurdle we will find in Programming, is that we have to rely on some form of abstraction to communicate effectively with our computer. That takes the form of any number of Programming Languages, such as Javascript, Python, or C. If we can write out a repeatable set of instructions, like for the origami crane, we only need to translate it for the computer. We are on our way to having the computer be able to make a crane or even a multitude of different cranes where each one varies slightly. This is the power of Programming - the computer will repeatedly execute whatever task, or set of tasks, we assign to it, without delay and without human error.

####Visual Programming Defined
>Download the example file that accompanies this exercise (Right click and "Save Link As..."): [Visual Programming - Circle Through Point.dyn](datasets/1-1/Visual Programming - Circle Through Point.dyn). A full list of example files can be found in the Appendix.
If you were tasked with writing instructions for folding an origami crane, how would you go about it? Would you make them with graphics, text, or some combination of the two?

If your answer contained graphics, then **Visual Programming** is definitely for you. The process is essentially the same for both Programming and Visual Programming. They utilize the same framework of formalization; however, we define the instructions and relationships of our program through a graphical (or "Visual") user interface. Instead of typing text bound by syntax, we connect pre-packaged nodes together. Here's a comparison of the same algorithm - "draw a circle through a point" - programmed with nodes versus code:

**Visual Program:**

![Basic Visual Program ](images/1-1/03-BasicVisualProgram.png)

**Textual Program:**
```
myPoint = Point.ByCoordinates(0.0,0.0,0.0);
x = 5.6;
y = 11.5;
attractorPoint = Point.ByCoordinates(x,y,0.0);
dist = myPoint.DistanceTo(attractorPoint);
myCircle = Circle.ByCenterPointRadius(myPoint,dist);
```
The results of our algorithm:

![Circle Through Point ](images/1-1/04-CircleThroughPoint.png)

The visual characteristic to programming in such a way lowers the barrier to entry and frequently speaks to designers. Dynamo falls in the Visual Programming paradigm, but as we will see later, we can still use textual programming in the application as well.

58 changes: 29 additions & 29 deletions 01_Introduction/1-2_what_is_dynamo.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
##What is Dynamo?
Dynamo is, quite literally, what you make it. Working with Dynamo may include using the application, either in connection with other Autodesk software or not, engaging a Visual Programming process, or participating in a broad community of users and contributors.

###The Application
Dynamo, the application, is a software that can be downloaded and run in either stand-alone "Sandbox" mode or as a plug-in for other software like Revit or Maya. It is described as:
> A visual programming tool that aims to be accessible to both non-programmers and programmers alike. It gives users the ability to visually script behavior, define custom pieces of logic, and script using various textual programming languages.
![Dyanmo website-update number](images/1-2/00-DynamoHomepage.png)
> 1. See Dynamo in action with Revit
2. Download the installer

###The Process
Once we've installed the application, Dynamo will enable us to work within a Visual Programming process wherein we connect elements together to define the relationships and the sequences of actions that compose custom algorithms. We can use our algorithms for a wide array of applications - from processing data to generating geometry - all in realtime and without writing a lick of ```code```.

![A Visual Program](images/1-2/01-ProgramFlow.png)
> Add elements, connect, and we are off and running with creating Visual Programs.
###The Community
Dynamo wouldn't be what it is without a strong group of avid users and active contributors. Engage the community by following the Blog, adding your work to the Gallery, or discussing Dynamo in the Forum.

![The Forum](images/1-2/02-Community.png)

###The Platform
Dynamo is envisioned as a visual programming tool for designers, allowing us to make tools that make use of external libraries or any Autodesk product that has an API. With Dynamo Studio we can can develop programs in a "Sandbox" style application - but the Dynamo ecosystem continues to grow.

The source code for the project is open-source, enabling us to extend its functionality to our hearts content. Check out the project on Github and browse the Works in Progress of users customizing Dynamo.

![The Repo](images/1-2/03-TheRepo.png)
> Browse, Fork, and start extending Dynamo for your needs
##What is Dynamo?
Dynamo is, quite literally, what you make it. Working with Dynamo may include using the application, either in connection with other Autodesk software or not, engaging a Visual Programming process, or participating in a broad community of users and contributors.

###The Application
Dynamo, the application, is a software that can be downloaded and run in either stand-alone "Sandbox" mode or as a plug-in for other software like Revit or Maya. It is described as:
> A visual programming tool that aims to be accessible to both non-programmers and programmers alike. It gives users the ability to visually script behavior, define custom pieces of logic, and script using various textual programming languages.
![Dyanmo website-update number](images/1-2/00-DynamoHomepage.png)
> 1. See Dynamo in action with Revit
2. Download the installer

###The Process
Once we've installed the application, Dynamo will enable us to work within a Visual Programming process wherein we connect elements together to define the relationships and the sequences of actions that compose custom algorithms. We can use our algorithms for a wide array of applications - from processing data to generating geometry - all in realtime and without writing a lick of ```code```.

![A Visual Program](images/1-2/01-ProgramFlow.png)
> Add elements, connect, and we are off and running with creating Visual Programs.
###The Community
Dynamo wouldn't be what it is without a strong group of avid users and active contributors. Engage the community by following the Blog, adding your work to the Gallery, or discussing Dynamo in the Forum.

![The Forum](images/1-2/02-Community.png)

###The Platform
Dynamo is envisioned as a visual programming tool for designers, allowing us to make tools that make use of external libraries or any Autodesk product that has an API. With Dynamo Studio we can can develop programs in a "Sandbox" style application - but the Dynamo ecosystem continues to grow.

The source code for the project is open-source, enabling us to extend its functionality to our hearts content. Check out the project on Github and browse the Works in Progress of users customizing Dynamo.

![The Repo](images/1-2/03-TheRepo.png)
> Browse, Fork, and start extending Dynamo for your needs
Loading

0 comments on commit 28fe38b

Please sign in to comment.