Comments (2)
Hi @harshjain30,
I think you are seeing precision issues here possibly, I get and intersection in both cases for example on my macBook M1.
From a mathematical standpoint, yes the two points are in the same set so you could consider that they intersect but getting to that result with IEE754 floating point arithmetics is probably too much asking!
The following all intersect for me:
import colour
import matplotlib.pyplot as plt
import numpy as np
l_1 = np.array(
[
[[325, 421], [0, 0]],
]
)
l_2 = np.array(
[
[[0, 1023], [0, 0]],
]
)
l_3 = np.array(
[
[[0, 0], [325, 421]],
]
)
l_4 = np.array(
[
[[0, 1023], [0, 0]],
]
)
print(colour.geometry.intersect_line_segments(l_1, l_2))
print(colour.geometry.intersect_line_segments(l_3, l_4))
plt.plot(l_1[0][..., 0], l_1[0][..., 1])
plt.plot(l_2[0][..., 0], l_2[0][..., 1])
plt.show()
l_1 = np.array(
[
[[-1, 0], [1, 0]],
]
)
l_2 = np.array(
[
[[0, -1], [0, 1]],
]
)
l_3 = np.array(
[
[[1, 0], [-1, 0]],
]
)
l_4 = np.array(
[
[[0, 1023], [0, 0]],
]
)
print(colour.geometry.intersect_line_segments(l_1, l_2))
print(colour.geometry.intersect_line_segments(l_3, l_4))
plt.plot(l_1[0][..., 0], l_1[0][..., 1])
plt.plot(l_2[0][..., 0], l_2[0][..., 1])
plt.show()
LineSegmentsIntersections_Specification(xy=array([[[ 0., 0.]]]), intersect=array([[ True]], dtype=bool), parallel=array([[False]], dtype=bool), coincident=array([[False]], dtype=bool))
LineSegmentsIntersections_Specification(xy=array([[[ 0., 0.]]]), intersect=array([[ True]], dtype=bool), parallel=array([[False]], dtype=bool), coincident=array([[False]], dtype=bool))
LineSegmentsIntersections_Specification(xy=array([[[ 0., 0.]]]), intersect=array([[ True]], dtype=bool), parallel=array([[False]], dtype=bool), coincident=array([[False]], dtype=bool))
LineSegmentsIntersections_Specification(xy=array([[[ 0., 0.]]]), intersect=array([[ True]], dtype=bool), parallel=array([[False]], dtype=bool), coincident=array([[False]], dtype=bool))
from colour.
I had a feeling that might be the case. Thanks for looking into it.
from colour.
Related Issues (20)
- [FEATURE]: Implement support for global to set the `colour.plotting.render` et al. defaults.
- [FEATURE]: Implement support for *Apple Log Profile*. HOT 2
- [BUG]: Unable to use the `colour.RGB_to_XYZ` definition. HOT 3
- [BUG]: *nan* are generated by `colour.difference.delta_E_CIE1994` definition. HOT 3
- How to convert Rec.709 color space to Sony S-Gammut color space? HOT 2
- [BUG]: Write LUT without extension HOT 3
- [BUG]: Exception raised in `colour.plotting.plot_RGB_scatter` definition. HOT 4
- [FEATURE]: Implement support for "Weighted Geometric Mean (WGM) method: A new chromatic adaptation model".
- [FEATURE]: Implement support for concurrent installation with `vaab/colour` Pypi package. HOT 7
- [BUG]: Numerical precision issues with CIECAM02 and CIECAM16 for L_A = 0 and Y_b = 0 HOT 18
- [BUG]: sRGB to CAM whitepoint (D65) inconsistent? HOT 6
- [DOCUMENTATION]: Typo in spectral upsampling docs HOT 1
- [BUG]: Planckian locus CCT curves come out of plot HOT 2
- [FEATURE]: Implement support for *sCAM* colour appearance model.
- [ENHANCEMENT] ARRI White paper now gives matrices to 18 decimal places. HOT 1
- [FEATURE]: Implement smooth D and ID illuminants in CIE 204:2013 "Methods for Re-defining CIE D Illuminants" HOT 3
- [FEATURE]: Implement support for Python Array API Standard. HOT 19
- colour.dominant_wavelength(xy, xy_n) HOT 1
- [BUG]: Possible incorrect value when using YCbCr_to_RGB() HOT 3
- [BUG]: read_image failing due to incorrect signature for OIIO read_image HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from colour.