# ios – Is there any strategy to invert/flip the outcome determine?

Utilizing iOS – Swift Xcode 14
I’ve drawn a picture utilizing some factors… and I received a picture as output. However the picture is an inverted or a flipped picture.
I used a number of code for flipping/Inverting the picture however not one of the code was working.
by utilizing of some codes the outcome picture going out of the display.
The code supplied right here is 90% appropriate code however the picture is flipped/inverted.

``````import SceneKit

class StairTwoDSceneViewController: UIViewController {

var plotPointsArray: [[Double]] = [[0.0,0.0,0.0], [0.229,0.0,0.005], [0.229,-0.0249,0.1926], [0.4566,-0.0249,0.2073], [0.4341,-0.0315,0.3989],[0.6754,-0.0315,0.4039],[0.6513,-0.0315,0.5892], [0.8782,-0.0315,0.5971], [0.8541,-0.0315,0.7834],[1.0765,-0.0315,0.78781]]
let lineWidth: CGFloat = 0.1 // Modify this worth to extend or lower line thickness
let cornerRadius: CGFloat = 0.02 // Modify this worth to manage the scale of the nook circles

let sceneView = SCNView(body: view.bounds)

let scene = SCNScene()

if plotPointsArray.rely > 0 {
let pointsNode = SCNNode()

for (index, level) in plotPointsArray.enumerated() {
guard level.rely == 2 || level.rely == 3 else {
proceed // Skip invalid factors
}

// Modify the y-coordinate to put the inexperienced sphere on the left backside
let spherePosition = SCNVector3(
x: Float(level),
y: Float(level.rely == 2 ? -0.0315 : -point), // Flip and alter y-coordinate
z: Float(level[point.count - 1])
)
}

for i in 0..<plotPointsArray.rely - 1 {
let currentPoint = plotPointsArray[i]
let nextPoint = plotPointsArray[i + 1]

guard currentPoint.rely == nextPoint.rely else {
proceed // Skip invalid factors
}

let begin = SCNVector3(currentPoint, currentPoint.rely == 2 ? -0.0315 : -currentPoint, currentPoint[currentPoint.count - 1])
let finish = SCNVector3(nextPoint, nextPoint.rely == 2 ? -0.0315 : -nextPoint, nextPoint[nextPoint.count - 1])

let lineGeometry = SCNGeometry.lineGeometry(from: begin, to: finish)
let lineNode = SCNNode(geometry: lineGeometry)
}
}

let cameraNode = SCNNode()
cameraNode.digicam = SCNCamera()
cameraNode.eulerAngles.x = -Float.pi / 2
cameraNode.eulerAngles.y = 0
cameraNode.place = SCNVector3(0.5, 2.5, 0.5)

sceneView.scene = scene
sceneView.backgroundColor = UIColor.black
sceneView.allowsCameraControl = true
}

func drawLine(from begin: SCNVector3, to finish: SCNVector3, thickness: CGFloat, shade: UIColor) -> SCNNode {
let lineGeometry = SCNGeometry.lineGeometry(from: begin, to: finish)

let lineNode = SCNNode(geometry: lineGeometry)
lineNode.place = SCNVector3((begin.x + finish.x) / 2, (begin.y + finish.y) / 2, (begin.z + finish.z) / 2)
lineNode.eulerAngles.z = -atan2(finish.x - begin.x, finish.y - begin.y)

return lineNode
}

let sphereNode = SCNNode(geometry: sphereGeometry)
sphereNode.place = place
return sphereNode
}
}

extension SCNGeometry {
static func lineGeometry(from begin: SCNVector3, to finish: SCNVector3) -> SCNGeometry {
let indices: [Int32] = [0, 1]

let supply = SCNGeometrySource(vertices: [start, end])
let factor = SCNGeometryElement(indices: indices, primitiveType: .line)

return SCNGeometry(sources: [source], parts: [element])
}
}
extension UIImage {
func rotate(levels: CGFloat) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(self.dimension, false, self.scale)
guard let context = UIGraphicsGetCurrentContext() else {
return nil
}
context.rotate(by: levels * CGFloat.pi / 180)
self.draw(in: CGRect(origin: .zero, dimension: self.dimension))
let rotatedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return rotatedImage
}
}

`````` Truly I need the Inverted-image like this under Be aware : Dont change the factors, the factors getting from backend. I’ve used pattern factors right here

I have to flip/Invert the picture.