Bonjour

Alors j'ai dessiner 8 lignes partant d'un seul point ( 4 lignes droite et 4 ligne en forme d'un cercle) je veux recuperer tous les point ainsi leur cordonnées x y de chaque lignes et les mètrent dans une liste , quelqu'un aurait une idée s'il vous plait

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   int margin = 100;
        int margin1 = 300;
        int top = 0 + margin;
        int bottom = canvas.getHeight() - margin;
        int left = 0 + margin1;
        int right = canvas.getWidth() - margin1;
        int centerX = x / 2;
        int centerY = y / 2;
        canvas.drawCircle(x / 2, y / 2, 50, paint1);
 
        canvas.drawLine(x/2,y/2,x/2,top,paint1);
        canvas.drawLine(x/2,y/2,x/2,bottom,paint1);
        canvas.drawLine(x/2,y/2,right,y/2,paint1);
        canvas.drawLine(x/2,y/2,left,y/2,paint1);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 int midX = 720 + ((290 - 720) / 2);
        int midY = 1230 + ((510 - 1230) / 2);
        float xDiff = midX - 720;
        float yDiff = midY - 1230;
        double angle = (Math.atan2(yDiff, xDiff) * (180 / Math.PI)) - 90;
        double angleRadians = Math.toRadians(angle);
        float pointX = (float) (midX + (-250) * Math.cos(angleRadians));
        float pointY = (float) (midY + (-350) * Math.sin(angleRadians));
 
 
        path1.moveTo(720, 1230);
        path1.cubicTo(720, 1230, pointX, pointY, 290, 510);
        Toast.makeText(this,pointX+""+" "+pointY,Toast.LENGTH_LONG).show();
        canvas.drawPath(path, paint);
 
 
        int midX2 = 720 + ((290 - 720) / 2);
        int midY2 = 1230 + ((1950 - 1230) / 2);
        float xDiff2 = midX2 - 720;
        float yDiff2 = midY2 - 1230;
        double angle2 = (Math.atan2(yDiff2, xDiff2) * (180 / Math.PI)) - 90;
        double angleRadians2 = Math.toRadians(angle2);
        float pointX2 = (float) (midX2 + (250) * Math.cos(angleRadians2));
        float pointY2 = (float) (midY2 + (350) * Math.sin(angleRadians2));
 
        path1.moveTo(720, 1230);
        path1.cubicTo(720, 1230, pointX2, pointY2, 290, 1950);
        canvas.drawPath(path2, paint);
 
 
        int midX3 = 720 + ((1200 - 720) / 2);
        int midY3 = 1230 + ((1980 - 1230) / 2);
        float xDiff3 = midX3 - 720;
        float yDiff3 = midY3 - 1230;
        double angle3 = (Math.atan2(yDiff3, xDiff3) * (180 / Math.PI)) - 90;
        double angleRadians3 = Math.toRadians(angle3);
        float pointX3 = (float) (midX3 + (-250) * Math.cos(angleRadians3));
        float pointY3 = (float) (midY3 + (-350) * Math.sin(angleRadians3));
 
        path1.moveTo(720, 1230);
        path1.cubicTo(720, 1230, pointX3, pointY3, 1200, 1980);
        canvas.drawPath(path3, paint);
 
        int midX1 = 720 + ((1200 - 720) / 2);
        int midY1 = 1230 + ((510 - 1230) / 2);
        float xDiff1 = midX1 - 720;
        float yDiff1 = midY1 - 1230;
        double angle1 = (Math.atan2(yDiff1, xDiff1) * (180 / Math.PI)) - 90;
        double angleRadians1 = Math.toRadians(angle1);
        float pointX1 = (float) (midX1 + (250) * Math.cos(angleRadians1));
        float pointY1 = (float) (midY1 + (350) * Math.sin(angleRadians1));
 
        path1.moveTo(720, 1230);
        path1.cubicTo(720, 1230, pointX1, pointY1, 1200, 510);
        canvas.drawPath(path1, paint);