Size of points
|Objects||PointSize Default Values|
|plot::Bars2d, plot::Bars3d, plot::Conformal, plot::Curve2d, plot::Curve3d, plot::Cylindrical, plot::Dodecahedron, plot::Function2d, plot::Function3d, plot::Hexahedron, plot::Histogram2d, plot::Icosahedron, plot::Integral, plot::Listplot, plot::Matrixplot, plot::Octahedron, plot::Ode2d, plot::Ode3d, plot::Point2d, plot::Point3d, plot::PointList2d, plot::PointList3d, plot::Polar, plot::Polygon2d, plot::Polygon3d, plot::Prism, plot::Pyramid, plot::QQplot, plot::Scatterplot, plot::Spherical, plot::Surface, plot::SurfaceSet, plot::SurfaceSTL, plot::Sweep, plot::Tetrahedron, plot::Turtle, plot::VectorField3d, plot::Waterman, plot::XRotate, plot::ZRotate||1.5|
PointSize determines the physical size of points. The value should be specified as an absolute physical length including a length unit such as PointSize = 1.5*unit::mm. Numbers without a physical unit give the size in mm.
Typical points have a size of only a few pixels on the screen. Hence, the renderers cannot always react to small changes of the PointSize, because the actual size of the graphical points can attain only discrete values.
Depending on your hardware, there is a maximal size of the graphical points that can be rendered in 3D. If the PointSize is too large, the 3D renderer uses the maximal size that is supported.
Many graphical objects such as curves, surfaces etc. are approximated by a numerical mesh. With PointsVisible = TRUE, the points of this mesh become visible. These points react to PointSize.
PointSize cannot be animated.
We plot a cluster of points with random sizes within the unit square:
r := frandom: plot(plot::Point2d(r(),r(), PointSize = 2*r()*unit::mm) $ i = 1 .. 200)
Due to pixelation, there is only a discrete number of PointSize values that the renderers can display faithfully. Further, note that the large points may protrude over the edges of the viewing box without being clipped:
plot(plot::Point2d([i, 5], PointSize = i*0.1*unit::mm, Color = RGB::Red) $ i = 1 .. 30, plot::Point2d([3*i, 15], PointSize = i*unit::mm, Color = RGB::Green) $ i = 1 .. 10, plot::Point2d([9*i , 30], PointSize = i*unit::cm, Color = RGB::Blue) $ i in [0.3, 0.5, 0.8, 1.3, 2, 3], ViewingBox = [0 .. 30, 0 .. 35], Axes = Boxed)
Here are the same points in 3D. Note the threshold for PointSize beyond which the graphical points do not grow:
plot(plot::Point3d([i, 5, 0], PointSize = i*0.1*unit::mm, Color = RGB::Red) $ i = 1 .. 30, plot::Point3d([3*i, 15, 0], PointSize = i*unit::mm, Color = RGB::Green) $ i = 1 .. 10, plot::Point3d([9*i , 30, 0], PointSize = i*unit::cm, Color = RGB::Blue) $ i in [0.3, 0.5, 0.8, 1.3, 2, 3], ViewingBox = [0 .. 30, 0 .. 35, -1 .. 1], Axes = Boxed, CameraDirection = [0, -10, 1000], YXRatio = 2/3)
We can access the PointSize attribute from a point and change it:
p := plot::Point2d(1, 2): p::PointSize := 4*unit::inch: p::PointSize