Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rhino:rhino_math_solver [2015/12/04]
rhino:rhino_math_solver [2020/08/14] (current)
Line 1: Line 1:
 +====== Using Rhino to Solve Mathematical Equations ======
 +Rhino is a 3-D modeling application that can solve graphically. For example, if you want to know if two curves or surfaces intersect, you can use the **Intersect** command. If you want to know the centroid, volume or principal moments, you can ask Rhino that, too.
  
 +You can also use Rhino to solve mathematical equations. But Rhino does not have commands like //solve equation// or //plot graph//. The standard keyboard is also a problem. Where is the square root sign, superscript, or subscript?
 +
 +So, you will need to use scripting.
 +Rhino has a script editor made specifically to help with these problems.
 +
 +**Rhino 5 contains two scripting languages:**
 +  * **[[http://wiki.mcneel.com/developer/python|RhinoPython]]**
 +  * **[[http://wiki.mcneel.com/developer/rhinoscript|RhinoScript]]**
 +Rhino 4 contains only **RhinoScript**. 
 +
 +//Because of this, we recommend using RhinoScript.//
 +
 +[[http://discourse.mcneel.com/|{{:developer:mcdiscourse.png |http://discourse.mcneel.com/}}]] Ask questions on our [[http://discourse.mcneel.com|discourse support forum]]. When posting questions, please use either the **[[http://discourse.mcneel.com/category/rhino-developer|Rhino Developer]]** or the **[[http://discourse.mcneel.com/category/scripting|Scripting]]** category.
 +
 +===== The basics =====
 +To illustrate how you can use **RhinoScript** to solve mathematical problems, I have written two simple scripts that solve the first two questions of the math practice test.
 +
 +Note, both of these solutions can be copied and pasted into the RhinoScript editor (//EditScript//) for testing.
 +You also need to know the commands //LoadScript// and //RunScript//.
 +
 +The basic steps are:
 +  - Write a script function in script editor **EditScript**.
 +  - Or load a an existing file with the .rvb extension into the script editor.
 +  - Run the **LoadScript** command to load a script into memory. 
 +  - Use the **RunScript** command to run the function name.
 +Note: Dragging a .rvb file onto the Rhino window will load and run the script.
 +  * From the Rhino Help menu, click Plug-ins and then click **RhinoScript**.
 +
 +Also see [[http://wiki.mcneel.com/developer/vbsfundamentals|VB Fundamentals.]] 
 +
 +===== Examples =====
 + 
 +==== 1. Graph the following equation: y = (x - 4)^2 = 2 ====
 +<code Solve_for_Y.rvb>
 +' Define range of x values
 +xrange = Array(-4, -2, 0, 2, 4, 6, 8, 10)
 +' With each x value
 +For Each x In xrange
 +  ' Solve for y
 +  y = (x-4)^2 + 2
 +  ' Add a point at the x,y location
 +  Rhino.AddPoint Array(x, y)
 +Next
 +</code>
 +
 +
 +===== 2. Equation f(x) = x^2 - 5x - 14 =====
 +Find zeros of function using these values: 2, 7, -2, -7, then print to Rhino command prompt.
 +<code Find_y_equalto_0.rvb>
 +' Define range of x values
 +xrange = Array(2, 7, -2, -7)
 +' With each x value
 +For Each x In xrange
 +  ' Solve for y, where y = f(x)
 +  y = (x^2) - (5*x) - 14
 +  ' If y is zero, print x
 +  If y = 0 Then Rhino.Print x
 +Next
 +</code>
 +
 +===== 3. RhinoScript Quadratic Solver =====
 +See [[http://wiki.mcneel.com/developer/scriptsamples/quadraticsolver|A Quadratic Solver in Script.]]
 +
 +===== 4. Finding the Perfect Squares =====
 +See [[http://wiki.mcneel.com/developer/scriptsamples/perfectsquare|Finding Perfect Squares.]]
 +
 +
 +//The great thing about scripting is that it can be adapted to solve nearly any problem and in any manner chosen by the script writer.//