|
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
Peter,
cp9876 wrote: as are others (except for those claiming 4 solutions)
Unless the triangle has the same length legs (ac=bc), there will be 4 solutions. Nothing in the stated problem indicated any orientation. For example, line ab can be taken as a vertical line starting with a at the bottom and b at the top, or, flip that upside down, then point c can be on either side of that vertical line, in either orientation of ab. Essentially, you need to draw two circles of radius ac, one at one end of the diameter ab and one at the other end of the diameter ab. There will be 4 points of intersection of these two circles with the circle drawn from the midpoint of ab with radius of ab/2. There is also no constraint on whether ac is the longest or shortest leg.
Dave.
|
|
|
|
|
Chesnokov Yuriy wrote: There is ABC triangle randomly rotated on XY plane. A,B coords are known, ACB angle is 90'. AC length is known. How to find C coords????
Member 4194593 wrote: Nothing in the stated problem indicated any orientation.
We seem to be solving different problems, I assumed that as the poster says that the coordinates of A and B are known that he knows which are which, in particular which coordinates are the end of the side AC. i.e. we are given (xa, ya), (xb, yb) and the length |AC|.
If he really doesn't know which is which, he can easily get the other solutions by swapping the A and B coords.
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
Peter,
You are correct as usual. You cannot draw the circle of length AC at B, it has to be drawn at A, thus only two solutions, one on either side of line AB.
One solution could be to start at the origin and call the point A, drop down distance AC on the y axis and call the point C, move to the right (the mirrored solution would be obtained by moving to the left) a distance sqrt(AB^2-ac^2) and call that point B. Now rotate ABC about A until the line AB matches the original slope of the given line AB, then translate ABC to position A at the origin to the original given position of A.
Dave.
|
|
|
|
|
Dave,
Neat constructional idea, but the algebra looks nasty to work out the sin and cosine of that angle for the rotation,
Peter.
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
I would like to check if a segment and a polygon have some intersections. Could you plz indicate me some algorithms to solve it. I knew Ray Casting algorithm and I wonder if there are other algorithms ?
|
|
|
|
|
|
The above algorithm won't detect the case where the segment is entirely contained in the polygon, without intersecting any edge. Let me know if you need to detect this case too.
|
|
|
|
|
Plz show me if that is the most optimal algorithm ? I really want to know the most optimal algorithm to solve this problem. So, would you mind helping me ?
|
|
|
|
|
If it isn't optimal it's pretty close. The calculation to determine if two segments intersect isn't time consuming. The only case it doesn't handle, as I've mentioned, is when the segment is entirely contained within the polygon.
modified on Friday, October 17, 2008 9:55 AM
|
|
|
|
|
OK. Thanks so much for replying
|
|
|
|
|
Alan,
Does it handle the case where the intersection is at the node between two line segments of the polygon?
Dave.
|
|
|
|
|
It does if your algorithm to detect line-segment intersection will detect a segment intersecting the end point of another segment.
|
|
|
|
|
Alan,
My question was about the suggested algorithm you gave above and whether it returned an intersection for a crossing at a node.
Dave.
|
|
|
|
|
Yes it does; if you follow the link there's a Java applet that lets you draw two line segments and tells you if they intersect. You can draw two segments that intersect at an end, and it does detect the intersection.
|
|
|
|
|
Alan,
Thank you for the answer.
I did start to try the link. First it wanted to install a plugin in FF, OK, I'll go with that. That failed, and the next thing it wanted to do was install a Sun DLL. I decided to quit at that point because the next thing it would want to do would be enable Java Script which I have disabled.
I'm happy that that solution will work if I ever need it.
Dave.
|
|
|
|
|
Depends on your situation. You should probably do a bounding box check first since it's simple, quick and will eliminate a lot of lines.
There's an entire book essentially on this subject:
http://www.amazon.com/Real-Time-Collision-Detection-Interactive-Technology/dp/1558607323/ref=sr_1_1?ie=UTF8&s=books&qid=1227945892&sr=1-1[^]
Some of the things you need to think about:
Are your polygons convex or can they be concave?
Are you testing fixed polygons against a series of lines or does the polygon change with each test?
Are your lines more likely to miss than not?
BSP trees are worth looking into if you really want to squeeze every last drop of performance. They're a bit complex, though and mostly good for lots of lines testing against a single polygon.
|
|
|
|
|
Iam student have aproject about retreiving image
,so Iwant agood algorithm about analysis images to find the signature of it and uses this step to retreive...
plz plz plz help me in a shortest possible time ..
thanks alot..
|
|
|
|
|
luna2010 wrote: plz plz plz help me in a shortest possible time ..
Done.
BTW: Google & CodeProject's article search engine are your best friends (reading the forum guidelines will be a plus).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Sendme ur codez, plz. Urgent!
"If only God would give me some clear sign! Like making a large deposit in my name in a Swiss bank."
|
|
|
|
|
luna2010 wrote: plz plz plz help me in a shortest possible time ..
No. It might be more time efficient for you to google it
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
Google is ur best friend. Google it.
|
|
|
|
|
I need to figure out the formula/pattern/algorithm needed to convert the number on the left into a checksum on the right. Here are a few examples
6789542137 ; 53426
7274707623 ; 13890
7608909976 ; 21097
7866018419 ; 46204
8185833863 ; 59982
8052724826 ; 68535
Please help
Thanks
|
|
|
|
|
Please give us some hints, for instance: will this help to understand the origin of the Universe?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Can you supply any more information? A bunch of numbers and their checksum isn't much to go on...
"If only God would give me some clear sign! Like making a large deposit in my name in a Swiss bank."
|
|
|
|