from ddg.math import parametrizations
from ddg.nets._domain import SmoothDomain, SmoothInterval
from ddg.nets._net import NetCollection, SmoothCurve, SmoothNet
[docs]def discrete_confocal_coordinates_gamma(a, b, c):
(
fct,
intervals,
) = parametrizations.discrete_confocal_coordinates_gamma
domain = SmoothDomain(intervals)
return SmoothNet(fct, domain)
[docs]def confocal_coordinates_elliptic(a, b, c):
fct, intervals = parametrizations.confocal3d.confocal_coordinates_elliptic(a, b, c)
domain = SmoothDomain(intervals)
return SmoothNet(fct, domain)
[docs]def confocal_coordinates_circles_normalized(a, b, c):
(
fct,
intervals,
) = parametrizations.confocal3d.confocal_coordinates_circles_normalized(a, b, c)
domain = SmoothDomain(intervals)
return SmoothNet(fct, domain)
[docs]def minkowski_confocal_coordinates(k):
(
fct,
intervals,
) = parametrizations.confocal3d.minkowski_confocal_coordinates(k)
domain = SmoothDomain(intervals)
return SmoothNet(fct, domain)
[docs]def minkowski_confocal_coordinates2(k):
(
fct,
intervals,
) = parametrizations.confocal3d.minkowski_confocal_coordinates2(k)
domain = SmoothDomain(intervals)
return SmoothNet(fct, domain)
[docs]def octahedral_grid_planes(k=None):
(
fct1,
fct2,
fct3,
fct4,
interval,
) = parametrizations.confocal3d.octahedral_grid_planes(k)
domain = SmoothInterval(interval)
planes = [
SmoothCurve(fct1, domain),
SmoothCurve(fct2, domain),
SmoothCurve(fct3, domain),
SmoothCurve(fct4, domain),
]
return NetCollection(nets=planes)
[docs]def octahedral_grid_planes2(k):
(
fct1,
fct2,
fct3,
fct4,
interval,
) = parametrizations.confocal3d.octahedral_grid_planes2(k)
domain = SmoothInterval(interval)
planes = [
SmoothCurve(fct1, domain),
SmoothCurve(fct2, domain),
SmoothCurve(fct3, domain),
SmoothCurve(fct4, domain),
]
return NetCollection(nets=planes)