A web script that tracks a shape outlines and draw lines according to the outlines edges as if it were strings. The freelancer will submit a web based script that is connected to a database. The script will have the function to trace an outlined shape uploaded to the server by drawing lines (here called strings) in reference to the shape edges. The script must be able to run on a Linux server. A simple database is required to store creations, information, logs, accounts and settings.
The freelancer is expected to have an experience in creating dynamic scripts with great level of calculations and performance. Web Security experience is a must.
When the script runs, a line will start from a point on one side and end in another side point. Only when the line touches the shape, the line will be drawn and considered valid. The touch is considered a valid touch taken the tolerance into account. For example, if the tolerance is set to 3 points and the line from point B17 to point C68 came close to the shape side in 3 points or less, the touch will be considered valid and a line will be drawn. Otherwise, the script will ignore this touch and move to the next point B18 and tries again. In a 4 Sides shape, the script will run 6 times before it is done: A.B – A.C – A.D – B.C – B.D – C.D
The script will attempt to touch the shape in all the possibilities given. For example, the script will start with points A1.B1. If the touch is valid, a line will be drawn. The script then moves to A1.B2. If the touch is valid, a line will be drawn. Otherwise the attempt will be considered unsuccessful and it will be ignored. The script then moves to [login to view URL] – [login to view URL] – [login to view URL] – A1.B6.. etc until all the A1.B’s are finished after which the script will move to A1.C’s. It will start with [login to view URL] and the same will go until all the A1.C’s are finished. A1 then will try its last attempts with the D points starting with A1.D1. When A1 finishes all the attempts, the script will run A2 and the same scenario will happen. There will be no need to run B.A as all the possibilities were already attempted in A.B. Also there is no need to run C.A or C.B as all the possibilities were already attempted in A.C and B.C.
It should be mentioned that the possibilities are in great numbers and will take time to process. For example, in a Letterhead canvas (A:60, B:40, C:60, D:40), the total number of attempts will be 14800 attempts.
Taken the tolerance into account, the touch is valid in only three situations: When it comes close to an arc, when it comes close to a corner and/or when it comes parallel to a line. A touch is not considered valid if it crosses the shape by more than the tolerance number.