float to double (#5118)
This commit is contained in:
parent
278cb53c7f
commit
3824590375
@ -5,17 +5,17 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public class LinesIntersectionService {
|
public class LinesIntersectionService {
|
||||||
|
|
||||||
public Optional<Point> calculateIntersectionPoint(float m1, float b1, float m2, float b2) {
|
public Optional<Point> calculateIntersectionPoint(double m1, double b1, double m2, double b2) {
|
||||||
|
|
||||||
if (m1 == m2) {
|
if (m1 == m2) {
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
float x = (b2 - b1) / (m1 - m2);
|
|
||||||
float y = m1 * x + b1;
|
|
||||||
|
|
||||||
Point point = new Point(Math.round(x), Math.round(y));
|
double x = (b2 - b1) / (m1 - m2);
|
||||||
|
double y = m1 * x + b1;
|
||||||
|
|
||||||
|
Point point = new Point();
|
||||||
|
point.setLocation(x, y);
|
||||||
return Optional.of(point);
|
return Optional.of(point);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,24 +14,24 @@ public class LinesIntersectionServiceUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void givenNotParallelLines_whenCalculatePoint_thenPresent() {
|
public void givenNotParallelLines_whenCalculatePoint_thenPresent() {
|
||||||
|
|
||||||
float m1 = 0;
|
double m1 = 0;
|
||||||
float b1 = 0;
|
double b1 = 0;
|
||||||
float m2 = 1;
|
double m2 = 1;
|
||||||
float b2 = -1;
|
double b2 = -1;
|
||||||
|
|
||||||
Optional<Point> point = service.calculateIntersectionPoint(m1, b1, m2, b2);
|
Optional<Point> point = service.calculateIntersectionPoint(m1, b1, m2, b2);
|
||||||
|
|
||||||
assertTrue(point.isPresent());
|
assertTrue(point.isPresent());
|
||||||
assertEquals(point.get().x, 1);
|
assertEquals(point.get().getX(), 1, 0.001);
|
||||||
assertEquals(point.get().y, 0);
|
assertEquals(point.get().getX(), 1, 0.001);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenParallelLines_whenCalculatePoint_thenEmpty() {
|
public void givenParallelLines_whenCalculatePoint_thenEmpty() {
|
||||||
float m1 = 1;
|
double m1 = 1;
|
||||||
float b1 = 0;
|
double b1 = 0;
|
||||||
float m2 = 1;
|
double m2 = 1;
|
||||||
float b2 = -1;
|
double b2 = -1;
|
||||||
|
|
||||||
Optional<Point> point = service.calculateIntersectionPoint(m1, b1, m2, b2);
|
Optional<Point> point = service.calculateIntersectionPoint(m1, b1, m2, b2);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user