designcoding
About Table of Contents Keywords
Support designcoding!

#rhino-python

43 posts

Vector Normalization and Dot Product

October 29, 2021

This is the continuation of the Vector class we started here, and further advanced here, here, and here. This new Rhino Python implementation is mostly educational and partially a hobby. Before this session, we have developed display, magnitude, add, multiply, reverse, and subtract methods. This time, I am adding the vector normalization and dot product methods and seeing the utilizations of the dot product. Line Explanation 1-26 Already explained in the previous posts. 27 Define a new method called “normalize”….

Curve Equations Revisited

October 14, 2021

This is the continuation of the previous post on parametric curve equations. In this new version, the script picks a NURBS curve from the user. Then, it analyses the curve’s degree and control points. Unfortunately, only the curves with degree+1 number of control points can be processed. In the future, I hope that I will be able to extend this script to include multi-span curves with more than degree +1 control points. Finally, the script creates the three functions for…

Vector Magnitude Method in Rhino Python

October 12, 2021

Today, I am going to make only one addition to the Vector class we recently started in Rhino Python. The magnitude of a vector can be easily calculated by assuming that the axes (2 or 3 axes) of it are perpendicular to each other. This gives us an opportunity to assume a right triangle visually, and calculate the magnitude (length) of a vector by using the Pythagorean Theorem. In short, if you square and add the components of a vector,…

Parametric Curve Equations

September 19, 2021

The parametric curve equations are good examples to demonstrate the bridge between computer-aided design and mathematics. Although useless and pointless, it is a good exercise to extract the curve equations. In this Rhino Python code, I present a generalized equation extractor for Rhino. Rhino curves are good examples de Casteljau and Bézier curves. You can see the mathematical underpinnings of Rhino curves with this exercise: This code asks the user the degree of the curve. By default, Rhino’s curves are…

More Vector Operations in Rhino Python

September 1, 2021

This is the continuation of my new project of re-creating the parametric curve and surface methods of Rhino via Python scripting. If you remember, I started with the building block of vector operations, here and here. Then, I defined vector addition and multiplication, before going deeper into the geometric calculations. In fact, they are using the previously defined addition and multiplication methods. New Vector Operations: Subtraction and Reversing In the future, we are going to need to reverse a vector,…

Vector Arithmetics in Rhino Python

August 20, 2021

Today, I am going to advance the Vector class a bit more. Firstly, I will improve the display method I introduced recently. Then, I will add two new methods which handle the fundamental vector arithmetics in Rhino Python. Improving the Display Method In the previous attempt, I displayed vectors on the origin of the Rhino viewport. The coordinates of the tail of a vector are not stored within the object attributes. Normally, I can store two coordinates, one for the…

Display Method for Vector Class

August 17, 2021

Let’s continue from the Vector class that started yesterday. Previously, I defined this class to store three numbers (coordinates), named as “components”. I defined a method named __init__ for this. Similarly, I am adding a display method to the Vector class today. Note that I am using Rhino 6 in this code, but it should also work in Rhino 5 or 7. The code Below is the line-by-line explanation of the method: Line Explanation 1-4 Already explained before. 5 Start…

Vector Class in Rhino Python

August 16, 2021

In this new series, I will be using Rhino Python to create some of the fundamental mathematical objects in Rhino. We will learn how to code in Python, and also try to get deeper into the intuition behind some of the fundamental concepts we use every day in Rhino and Grasshopper. The Vector class in Rhino Python is the starting point of this journey. Just like vectors, most of the topics are already built-in object classes in RhinoPython. But I…

Inverse Kinematics in Rhino Python

May 22, 2019

This is a simple inverse kinematics solution developed by Andreas Aristidou and Joan Lasenby in 2011. They call it Forwards and Backwards Reaching Inverse Kinematics (FABRIK in short). It was quite interesting the learn this technique because it is a fast and accurate approximation of a kinematic chain. There are very interesting potentials of this technique in terms of architectural simulations. I tried to develop a Rhino Python script in Rhino 6. It seems to be working properly. Here is…

Design Mathematics Student Works

May 22, 2019

Below are some of the student works from the 2018 course: Design Mathematics. The final project of the course was about experimenting the designerly creativity. This included utilizing the mathematical concepts and objects studied throughout the semester. This was a rather open-ended homework question. But in the following years, I am not planning to repeat it. Because it becomes difficult to assess the learning outcome from open-ended homework within such a strict course content. Ayşenur Gençsoy experimented with the tool…

« 1 2 3 4 5 »
  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • #tangent
    • #pvc-hose
    • #hyperbolic-paraboloid
    • #rhombus
    • #folding
    • #fractal
    • #facade
    • #animation
    • #truncated
    • #hoopsnake
    • #unrolling
    • #enneahedron
    • #graph-mapper
    • #vector
    • #responsive
    • #tensegrity
    • #text
    • #data-flow
    • #simulation
    • #snub-square
    • All Keywords
    • Table of Contents
    • Monthly Archive
  • Search

  • Patreon

    Support designcoding!

    Enjoying designcoding? Support its future with a small donation on Patreon. Thank you!


    copyright 2026 designcoding.net | about | privacy policy | end user license agreement