Draw a sphere: Difference between revisions

Added C++ solution
(Added C++ solution)
Line 1,543:
}
}</lang>
 
=={{header|C++}}==
<lang cpp>// Based on https://www.cairographics.org/samples/gradient/
 
#include <QImage>
#include <QPainter>
 
int main() {
const QColor black(0, 0, 0);
const QColor white(255, 255, 255);
 
const int size = 300;
const double diameter = 0.6 * size;
 
QImage image(size, size, QImage::Format_RGB32);
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing);
 
QLinearGradient linearGradient(0, 0, 0, size);
linearGradient.setColorAt(0, white);
linearGradient.setColorAt(1, black);
 
QBrush brush(linearGradient);
painter.fillRect(QRect(0, 0, size, size), brush);
 
QPointF point1(0.4 * size, 0.4 * size);
QPointF point2(0.45 * size, 0.4 * size);
QRadialGradient radialGradient(point1, size * 0.5, point2, size * 0.1);
radialGradient.setColorAt(0, white);
radialGradient.setColorAt(1, black);
 
QBrush brush2(radialGradient);
painter.setPen(Qt::NoPen);
painter.setBrush(brush2);
painter.drawEllipse(QRectF((size - diameter)/2, (size - diameter)/2, diameter, diameter));
 
image.save("sphere.png");
return 0;
}</lang>
 
{{out}}
See: [https://slack-files.com/T0CNUL56D-F017MAG46BH-6af262a360 sphere.png] (offsite PNG image)
 
=={{header|Clojure}}==
1,777

edits