14
$\begingroup$

What I want:

enter image description here

What I have:

enter image description here

So basically I need to use curves to make a quarter circle. What is a good trick to do that?

$\endgroup$
1
  • $\begingroup$ Thank you all for the help, and thank you Gwenn for adding the pictures. I hope this community stays this friendly and I think this is going to be a great site $\endgroup$ – b2550 Jun 13 '13 at 21:46
13
$\begingroup$

Curves Circle method

  1. Add > Curve > Circle,
  2. In Edit mode go to Curve > Control Points > Set handle Type and set it to to Free.
  3. Then delete one knot point, and adjust the remaining knot and handles as in the image below.

enter image description here

enter image description here

A slight warning, this will only approximate a quarter curve, but often this will be sufficient for graphics.

Python script

Here is a short script that might be of interest to future python coders, creating this curve through code: https://gist.github.com/zeffii/5775583

$\endgroup$
10
$\begingroup$

Here's how I made a quarter circle:

picture of quarter circle

  1. Add a Bezier curve and Tab into Edit Mode. Since this will be a 2D curve, select the 2D button in the Properties Panel > Object Data tab.
  2. Move each point to the end of the curved part. I decided the circle would have a radius of 1, so one point went to (1, 0, 0) and the other went to (0, 1, 0).
  3. Since the line from each point to the control point attached to it is tangent to the curve, we know that the point at (1, 0, 0) will have a control point above it and the point at (0, 1, 0) will have a control point to the right of it.

    And since the curve is a circle, we know that the control points will be the same distance from their respective points due to symmetry.

  4. Tab out of Edit Mode and add a circle mesh object to compare the curve to, then back into edit mode with the curve.
  5. Try moving the control points while keeping the above constraints.
  6. Once you get the quarter circle, extrude a point and move it to the origin. Connect it to the other point and adjust control points as needed to make the straight sides.

Result: My control points are at (1, 0.55, 0) and (0.55, 1, 0)

Note: This will only approximate a circle, but you can get close enough for most purposes.

This way is not the fastest way, clearly, but its method can be extended for creating other curved shapes.

$\endgroup$
5
$\begingroup$

But can you use something else for the process? What you can do (and what I usually do when I need something like that) is a nice workaround that gives perfect curves:

  1. Add a circle (mesh).
  2. Erase the vertices that you dont need so you can get a "quarter curve" made from edges.
  3. Convert the mesh object to a curve (alt+c).
$\endgroup$
1
  • $\begingroup$ In my opinion, this is by far the best, most accurate way of achieving the goal. The other answers results are not accurate enough. :) $\endgroup$ – SteveW Jun 18 '13 at 21:57
1
$\begingroup$

You can use Curve Profiles from the Curve Extra Objects add-on. You can install it by going to User Preferences, then go to Add-->Curve-->Curve Profiles. Where to find curve profiles in the "add" menu

In the Tool Shelf, set the curve's profile type to Arc and change its type to 2. Tool Shelf example

$\endgroup$
0
$\begingroup$

I did some visual only tests and came up with .552285 of the percentage of the Bezier curve vertex locations. I made a 200 inch diameter circle with 128 segments. A Bezier curve with 2 segments will have the 2 segments vertex hit the circle (as close as I could tell from my closest zoom) with control point 1 at 0, 0, 0 and control point two at 100, 100, 0.

Vertex control (on main part of curve side) from control point 1 is 55.2285, 0, 0. Vertex control (on main part of curve side) from control point 2 is 100, 44.7715, 0. (100-55.2285= 44.7715)

This is basically the same answer as Jason provided above, just a bit more precision on the vertex point. And again this is only by visual reference, not math or knowledge of the Bezier curve algorithm. I realize this thread is old, but I couldn't find a number for this on other threads. Hope it helps someone.

Edit- I found this site on everything Bezier curve-- https://pomax.github.io/bezierinfo/#arcapproximation

Section 42 does the math that comes up with the same number I came up with. In case anyone wants to verify the number and math...

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.