public void Desenhar() { GL.PointSize(10); Ponto4D ultimoPonto = null; for (var i = 0; i < this.pontos.Count; i++) { Ponto4D ponto = this.pontos[i]; GL.Begin(PrimitiveType.Points); GL.Color3(i == this.pontoSelecionado ? Color.Red : Color.Black); GL.Vertex2(ponto.X, ponto.Y); GL.End(); if (ultimoPonto != null) { segReta = new SegReta($"{i}", new Ponto4D(ultimoPonto.X, ultimoPonto.Y), new Ponto4D(ponto.X, ponto.Y), Color.Cyan, 3); segReta.Desenhar(); } ultimoPonto = ponto; } this.DesenharSpline(); }
private void DesenharSpline() { Ponto4D ultimoPontoSpline = null; foreach (Ponto4D pontoSpline in this.pontosSpline) { if (ultimoPontoSpline != null) { segReta = new SegReta("Spline", new Ponto4D(ultimoPontoSpline.X, ultimoPontoSpline.Y), new Ponto4D(pontoSpline.X, pontoSpline.Y), Color.Yellow, 3); segReta.Desenhar(); } ultimoPontoSpline = pontoSpline; } }
/// <summary> /// Cria um círculo na cena /// </summary> /// <param name="raio">Raio</param> /// <param name="cor">Cor dos pontos do círculo</param> /// <param name="deslocamentoX">Caso necessário deslocar no eixo X utilziar um inteiro</param> /// <param name="deslocamentoY">Caso necessário deslocar no eixo Y utilziar um inteiro</param> /// <param name="primitivaTamanho">Tamanho dos pontos</param> public Circulo(string rotulo, double raio, Color cor, int quantidadePontos = 72, int deslocamentoX = 0, int deslocamentoY = 0, int primitivaTamanho = 4, int angulo = 5) : base(rotulo, cor, primitivaTamanho, PrimitiveType.Points) { _raio = raio; _deslocamentoX = deslocamentoX; _deslocamentoY = deslocamentoY; _quantidadePontos = quantidadePontos; _angulo = angulo; pontoQuadrado1 = new Ponto4D(deslocamentoX, deslocamentoY - 3); pontoQuadrado2 = new Ponto4D(deslocamentoX, deslocamentoY + 3); segReta = new SegReta("Q", pontoQuadrado1, pontoQuadrado2, Color.Blue, 3); pontoQuadrado1 = new Ponto4D(deslocamentoX, deslocamentoY - 3); pontoQuadrado2 = new Ponto4D(deslocamentoX, deslocamentoY + 3); segReta = new SegReta("Q", pontoQuadrado1, pontoQuadrado2, Color.Blue, 3); GerarCirculo(); }