Brieg Brieg - 3 months ago 11
C++ Question

OpenGL How to draw curves being part of circle depends of last point location with requirements: fixed radius, last point givig direction

I can not put questions in one line also here they are:

How to draw a curve which is part of the circle(depending on the end point)

Let:


  • p1=(x1,y1) be the first point

  • have to be line p2=(x2,y2) is the starting point of drawing the curve

  • p3=(x3,y3) be the end point (mouse location)



Requirements:


  • if P3 is going closer to p2, the larger the potential radius becomes

  • p3 describes the drawing direction

  • if p3 is pararel to p2 there nothing should be drawn (or drawn line p3>p2)

  • if p3 is equal to p1 it should draw a relatively large wheel,



EDIT:
I think i found solution how to draw that part of circle, please look at that gifs below:

enter image description here

Answer

diagram

  • Tangent A->B implies a normal-line Q that passes through the (as-yet unfound) circle center D
  • Find the midpoint M of chord R (i.e., segment B-C).
  • A line S perpendicular to R passing through M also passes through D

So: Construct lines Q and S and find their intersection D. The length of segment B-D is the radius of the circle. With the radius and center D you should be able to calculate the arc B->C.

in b4 9000 hours in mspaintpaint.net