PDA

Ver la Versión Completa : Ayuda con Elipses en un TChart


lol
19-02-2008, 06:00:20
Tengo el siguiente problema a ver si me pueden ayudar...

Tengo que graficar varias elipses, en base a sus puntos, se me ocurrio usar un TChart, yo tengo las coordenadas de los puntos que forman su circunceferencia, por lo que use un TPointSeries, y todo salio bien... pero ahora necesito unir los puntos, es decir que las circunferencias de esas elipses que grafique sean continuas y no una sucesión de puntos... Ya intente usar un TLineSeries, pero sucede algo extraño... la linea se va creando bien, en la primer mitad de la elipse, pero, apenas inicia la segunda mitad de la elipse (la parte opuesta a la creada) los puntos de la segunda parte se unen con los de la primera parte =S... dejando unas lineas entre lazadas entre ambos emisferios de la elipse. ¿hay forma de que esos puntos de TPointSeries se unan? ¿o que metodo me recomiendan para graficar elipses, en base a los puntos que forman su circunferencia?

jachguate
19-02-2008, 08:11:02
No creo que un TeeChart sea lo mas adecuado para graficar una elipse... pero si ya llevas avance con este, me parece que bastará que la "segunda mitad" de la elipse la dibujes valiéndote de otra serie (otra TLineSeries).

Hasta luego.

;)

lol
20-02-2008, 05:59:19
Ya lo intente =(
y tampoco funciono =(
pero bueno quiza hice algo mal... volvere a revisar mi logica...
bueno sino se puede con el TPointSeries y Tchar...

¿que me sugieren?
realmente estoy desesperado =S

rounin
20-02-2008, 10:33:46
Si he correctamente entendido la pregunta,
la problema es que TChart arregla X-valores.
En este caso te ayuda
Series.XValues.Order := loNone;

Delphius
20-02-2008, 12:19:27
Hola lol,
En TChart no es el componente adecuado para lo que necesitas, lo más indicado es que emplees un PaintBox.

Quien te puede sacar de problemas es el TCanvas, propiedad que poseen por ejemplo el TPaintBox, un TImage, un TForm. TCanvas tiene entre sus métodos uno que permite dibujar elipses.

Teniendo esto en mente, ya no sería necesario estar dibujando punto por punto la imagen, sino suminstrar 2 puntos (que forman una de las dos diagonales).

Sino cuentas con estos datos pueden obtenerse a partir de los que tienes.

Sino se entiende dimelo, y te explicaré mejor.
Saludos,

lol
22-02-2008, 03:52:31
Sí entiendo...
y así lo tenía..
pero mi Jefe insiste en que quiere las elipses por su metodo... en resumen, el tiene un algoritmo que te da la circunferencia de la elipse (los puntos que la forman) lo unico que quiere es que yo una esos puntos... y que esten escalados, por eso me parecio una buena opcion el TChart, ya te escala los puntos y TCancavas y eso... pues hay que escalarlo, dibujar los ejes etc. cosas que no tengo que hacer con TCHart.

Lo que tengo que hacer es esto... yo tengo las circunferencias de varias elipses (coordenadas de los puntos q forman su circunferencia) y yo debo dibujarlas y escalarlas...

Lo intente con el TCancavas... pero... pues jeje las dibuja, el problema es escalarlar... jejeje por eso me cambie al TChart...
ya medio solucione el problema.. por cada elipse uso 4 series linea... y pues asi ya se forma la elipse... pero se q no es lo mas optimo jeje...

se aceptan sugerencias =(...

lol
22-02-2008, 03:58:25
olvide mencionar q leyendo sobre TeeChart o como se llame... vi que hay una version profesional con la que se pueden graficar elipses...

mmm alguien sabe de donde puedo bajar la version profesional de los componentes de Teechart...???
y q sean gratis (a)?
tengo curiosida de probar a ver si esas graficas y funciones extras del TChart profesional me auxilian...

jachguate
22-02-2008, 17:37:13
mmm alguien sabe de donde puedo bajar la version profesional de los componentes de Teechart...???
De la web de su fabricante, Steema Software (http://www.steema.com/)
y q sean gratis (a)?
Eso si no lo creo.. pero preguntales, quizas quieran regalártelo ;)

tengo curiosida de probar a ver si esas graficas y funciones extras del TChart profesional me auxilian...

Bueno, para eso, tengo entendido que tienen una versión de evaluación o un demo: http://www.steema.com/downloads/dwn_tch_vcl.html

Hasta luego.

;)

lol_work
25-02-2008, 16:58:25
Hola, soy yo dando lata de nuevo (a)...
ahora tengo problema con punteros >.<
Como les mencione uso 4 series por cada elipse, entonces el usuario me da los datos de las N elipses, al pedirme la grafica primero leo el numero de elipses NE y con un procedimiento creo el numero de series que necesito NE*4con el siguiente procedimiento:
Procedure TFrmGraficas.GeneraSeries(NS : Integer);
var i : Integer;
begin
SetLength(S,NS);
for i:=0 to NS do
begin
S[i]:=TLineSeries.Create(Self);
S[i].ParentChart:=FrmGraficas.Chart1;
end
end;

Lo mando a llamar desde otra forma con:

FrmGraficas.GeneraSeries(NE*4);

EL procedimiento crea las series que necesito y las mmm &quot;liga&quot; al Chart...
Hasta aquí, todo funciona bien... se grafican las series sin problema.
Cierro la ventana de la grafica, regreso a la ventana donde estan los datos de las elipses y ya sea que agrego mas elipses, o reduzco el numero de elipses... y me marca error de:

Access violation at address 00401D06 in module 'Elipses.exe'. Write of address 0049D074

Me supuse que debia vaciar el valor de mi arreglo S, antes de darle nuevos valores... asi que le puse un:

S:=nil;

Antes de darle a S un nuevo valor con SetLenght, pero sigue marcando error >.<
Mmm pense que era problema con el TChart que aun tenia las direcciones asignadas de S al Chartasi que, intente vaciarlas... así:

for i:=1 to Length(S) do
Chart1.Series[i].Free;
(inicio desde 1, porque 0 es una serie de puntos que cree en modo de diseño y que pues uso para otras cosas...)
posteriormente le di a S el valor de nil y de ahí nuevamente le asigne a S un nuevo tamaño...Y ahora el mensaje de error cambio a: &quot;Invalid pointer operation&quot; >.<

Help =(...
Ah y tambien al cerrar la aplicacion me salen muchos errores =S... esto empezo a suceder desde que implemente el arreglo S de series...asi que debe ser algo con los punteros pero... pues no se qué me falta vaciar o que paso...
PD: Hoy no es mi dia ¬¬ esto se me esta pegando todo... y a la hora de editar me sale en HTML...