Click here to Skip to main content
11,802,389 members (30,876 online)
Rate this: bad
Please Sign up or sign in to vote.
how to draw arc ("real-time" like in CAD) from 3 points - precisely, how check (from cursor)it arc will be clockwise or counter-clockwise


i know how to draw arc like this, but i dont know how to find when mouse cross the segment between points and when i must change direction Blush | :O

i try use soluction from this article OpenS-CAD, a simple 2D CAD application[^]but it not work proertly
Posted 31-Aug-10 11:26am
Edited 1-Sep-10 1:20am
HassBlass at 1-Sep-10 10:44am
i had problem, because i dont remember the angle can be -360 to 360, not 0 to 360 :D
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Do you asking about some math to calculate angle between 2 vectors to check the arc? You mentioned about 3 points and i asume there is something like this:

[how do i see this]

then you need to calculate angle or check dot product between 2 vectors and according to result you will be able to say if the arc is clockwise or counter-clockwise.

I'm not sure if this is such low level problem but if you need any other help with math-drawing feel free to ask. Stuff like this is kind of my hobby Wink | ;)
HassBlass at 1-Sep-10 5:14am
not exactly what I want, i corrected my question
helianthus87 at 1-Sep-10 7:38am
So youre mooving cursor according the arrow and need to find yout if the cursor is below or above line defined by 2 red points, right? If that so all you need to do is get equation of line y=a*x+b then having a,b (you can get it solving 2 equations). Lets say you have cursor P4(cx,cy), then calculate y=a*cx+b and if y
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

you work out if it's clockwise or counterclockwise from the relative position of the points, surely ?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 475
1 KrunalRohit 366
2 F-ES Sitecore 295
3 Afzaal Ahmad Zeeshan 230
4 CHill60 220
0 OriginalGriff 2,950
1 Maciej Los 1,910
2 KrunalRohit 1,862
3 CPallini 1,645
4 Richard MacCutchan 1,157

Advertise | Privacy | Mobile
Web03 | 2.8.151002.1 | Last Updated 1 Sep 2010
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100