Blog Articles

Math Behind the DroneBlocks Curve Command

January 3, 2022 — 4 minutes

“How does the “Curve Block” work in DroneBlocks?”

Under “Navigation” in the DroneBlocks coding apps and DroneBlocks Simulator lives the “Curve Block”. After some experimenting you may ask yourself “How do the values in the curve block determine the direction and shape of the curve the drone will follow?” Recently, Mark Kaercher a Math teacher of 27 years from New York reached out to us with his ingenious solution to demonstrating the curve block in 3D space using a tool called GeoGebra.

Mark’s Solution

After 27 years in the math classroom, I currently run one of our middle school’s Innovation Spaces. My space is called the Simulations Center, where the students (and I) explore and design models for a variety of situations and processes. Our units include simulations in data & probability, folding & building, AR & VR, coding with micro:bits, and DroneBlocks.

DroneBlocks is a powerful tool that allows students to design a variety of missions, which can be launched and edited in the simulators before being flown with the drones. My students already have quite a bit of experience in block coding from playing with Scratch and the micro:bits. So most of the navigation blocks are intuitive. However, as I began my experience with the Droneblocks Simulator, I found the Curve block (command) to be a bit puzzling.

How do the values in the block determine the direction and shape of the curve? I used a lot of trial and error. And after much tinkering with different x, y & z values, I just couldn’t figure out how the curve was being generated.

That’s when I put my “math-teacher-hat” back on and worked on figuring out the geometry that is happening behind the scenes. I taught high school geometry for many years and realized that lessons that I had taught to my students years ago were the key to unlocking the mystery of the curve block.

I decided to use the construction tools in the GeoGebra 3D Calculator to build an app, which explains why the Droneblocks Curve block behaves the way it does

So let’s first consider the three points that define the curve: 

  • The drone’s starting point – let’s call that (x0,y0,z0)

  • (x1,y1,z1)

  • (x2,y2,z2)

In the curve block, those given values are x1 = 0, y1 = 0 & z1 = 0 and :

Those three sets of coordinates define a triangle:

The next step is to find the midpoints of each side of the triangle:

Then construct the perpendicular bisectors through those three midpoints:

Those three lines intersect at a point called the circumcenter!

The circumcenter is defined as the point of concurrency of the perpendicular bisectors of the sides of a triangle. This is the center of a circumscribed circle about the triangle. In other words, the circumcenter is the center of a circle which passes through the three vertices of the triangle.

This circle begins to define the flight path of the drone. The drone flies in a counter-clockwise direction, from its starting point (0,0,0), along the curve to (x1,y1,z1), stopping at (x2,y2,z2). In the simulator however, we don’t see the whole circle. We only see the arc, which starts at (0,0,0), passing through (25,25,0), and ending at (0,50,0).

Here are some other curved flight paths:

I invite you and your students to play with the calculator here. You can simply drag points A and B to create new curved flight paths for your drone. 

If you want to lift your points off of the x-y plane, simply click once on point A or B and the arrows will show you that the points can be moved vertically.  

It’s satisfying to me as a veteran math teacher, to be able to use high school geometry concepts to be able to explain (what originally was) the mystery of the curve block. I hope that you and your students find this lesson interesting and helpful.

Elevate Learning with DroneBlocks STEM Curriculum

It's not just about coding—it's about fostering innovation and critical thinking in young minds. Our curriculum is meticulously crafted to engage students at every level, integrating theory with hands-on activities. See all of the courses we have available today!