(01-21-2014 09:44 PM)wrister05@aol.com Wrote: [ -> ]I have downloaded the program and followed step by step instructions on how to install it and everytime i try to use it it says Error: Invalid object. I am typing it in exactly as you have it on your video. I also have updated my Firmware to the most recent as well. I checked the program on the calculator and i get errors too. is that normal? I opened it with wordpad like you said and copied and pasted it into the programming part after i went into apps copied the advanced graphing and renamed it Graph3D. Any suggestions?
You wrote about "typing it in exactly" as I have it in my video, are you referring to the formulas to plot? Is the error occurring after you try to enter the formula? As far as I know, apps do not report runtime errors so pressing the [Plot] key either works and shows a graph, or nothing appears to happen (no error messages). So if you are getting invalid object when trying to enter a formula, my guess is that you are in RPN mode and need to add single quotes around your formula.
I'm also confused as to how you are able to directly copy the source code onto the calculator. Did you mean that you copied the source code into the
emulator while the program editor was open? (And is the emulator up to date?) If so, and exiting the program editor resulted in syntax errors, could you share what the error messages are? Also, if you press "Check" while the program editor is active, it will not only report the error but move the cursor to the error position. Know which line of code causes the error will help determine the issue.
If you can you explain a little more about when/where the error occurs, and what your Home settings are, it would make it easier to figure out what is wrong.
Thank you for all your help. I have one last question, sorry. On the emulator, i can click the screen and the menu pops up like you said, however on the calculator itself it just exits immediately. Is that feature only for the emulator?
I am having the exact same error show up as Wrister05, but i did not double paste! I tried sending from connect kit and emulator and its not working. Everytime I do one of the above, and I plot ANY function and it gives the "invalid object error". i checked from within the calculator and sure enough there was a syntax error at around line 353. This however does not happen on the emulator only on the physical calc after sending!
Hello Han.
I have downloaded the file that you uploaded, and did the same thing you show in the video, but when I click the check button. That always shows Syntax error in program line 357. Could you help me?
I think im doing exactly as said,but i have a message "Error:Invalid object" when plot the graphic too.
this is what im pasting:
// Graph 3D v2.221 (16-DEC-2013)
// by Han Duong
g3D_setdefault();
g3D_getfunc();
g3D_getsettings();
g3D_getwin();
g3D_setgrid();
g3D_getangles();
g3D_rotmatrix();
g3D_compute();
g3D_project();
g3D_draw();
g3D_keys();
xmin3D,xmax3D;
ymin3D,ymax3D;
zmin3D,zmax3D;
grid3D,zoom3D;
rotx,roty,rotz,Rx,Ry,Rz,Rot;
xc,yc,zc;
Zvals,Points2D,Point,zColor,zClip;
redraw3D=1,recompute3D=1,init3D=0;
minD,fxy="";
//----------------------------
// START FUNCTION
//----------------------------
view "Edit Function",START()
begin
if init3D==0 then
g3D_setdefault();
end;
startview(0,1);
end;
//----------------------------
// RESET FUNCTION
//----------------------------
View "Reset Plot Settings",RESET()
begin
g3D_setdefault();
end;
//----------------------------
// Symb FUNCTION
//----------------------------
Symb()
begin
startview(0,1);
end;
//----------------------------
// SymbSetup FUNCTION
//----------------------------
SymbSetup()
begin
msgbox("Use X and Y as the input variables.")
end;
//----------------------------
// PlotSetup FUNCTION
//----------------------------
PlotSetup()
begin
if init3D==0 then
g3D_setdefault();
end;
g3D_getsettings();
end;
//----------------------------
// Plot FUNCTION
//----------------------------
Plot()
begin
if init3D==0 then
g3D_setdefault();
end;
g3D_draw();
end;
//----------------------------
// Numb FUNCTION
//----------------------------
Num()
begin
local z_Values;
if init3D==0 then
g3D_setdefault();
end;
g3D_compute();
z_Values:=Zvals .+ zc;
editmat(Zvals);
end;
//----------------------------
// NumSetup FUNCTION
//----------------------------
NumSetup()
begin
if init3D==0 then
g3D_setdefault();
end;
g3D_setgrid();
end;
//----------------------------
// g3D_setdefault
//----------------------------
g3D_setdefault()
begin
xmin3D:=-10; xmax3D:=10;
ymin3D:=-10; ymax3D:=10;
zmin3D:=-10; zmax3D:=10;
zoom3D:=10; grid3D:=15;
rotx:=105; roty:=0; rotz:=5;
xc:=0; yc:=0; zc:=0;
redraw3D:=1;
recompute3D:=1;
init3D:=1;
fxy:="";
g3D_getfunc();
end;
//----------------------------
// g3D_getfunc
//----------------------------
g3D_getfunc()
begin
local i, ftot=0, fnew, fsel;
for i from 0 to 9 do
if ISCHECK(i) then
fsel:=i; ftot:=ftot+1;
end;
end;
if ftot==0 then
msgbox("Please enter/select a function!");
startview(0,1);
kill;
end;
if ftot>1 then
msgbox("Please select only one function!");
startview(0,1);
kill;
end;
fnew:=expr("STRING(V"+fsel+")");
if fnew<>fxy then
fxy:=fnew;
recompute3D:=1;
end;
return(recompute3D);
end;
//----------------------------
// g3d_getsettings
//----------------------------
view "Plot Settings (all)",g3D_getsettings()
begin
if init3D==0 then
g3D_setdefault();
end;
g3D_getwin();
g3D_getangles();
end;
//----------------------------
// g3D_getwin
//----------------------------
view "Set Viewing Window",g3D_getwin()
begin
local xmin,xmax,ymin,ymax,zmin,zmax;
local zoom;
if init3D==0 then
g3D_setdefault();
end;
xmin:=xmin3D; xmax:=xmax3D;
ymin:=ymin3D; ymax:=ymax3D;
zmin:=zmin3D; zmax:=zmax3D;
zoom:=zoom3D;
if input(
{xmin,xmax,ymin,ymax,zmin,zmax,zoom},
"Graph 3D View Window",
{
"Xmin=", "Xmax=",
"Ymin=", "Ymax=",
"Zmin=", "Zmax=",
"Zoom factor="
},
{
"Enter the value of back side of the viewing box",
"Enter the value of front side of the viewing box",
"Enter the value of left side of the viewing box",
"Enter the value of right side of the viewing box",
"Enter the value of bottom side of the viewing box",
"Enter the value of top side of the viewing box",
"Enter the zoom factor (must be > 0)"
},
{xmin3D,xmax3D,ymin3D,ymax3D,zmin3D,zmax3D,zoom3D})
then
if xmin>=xmax then
msgbox("Warning: Invalid Xmin/Xmax! Setting Xmax:=Xmin+1");
xmax:=xmin+1;
end;
if ymin>=ymax then
msgbox("Warning: Invalid Ymin/Ymax! Setting Ymax:=Ymin+1");
ymax:=ymin+1;
end;
if zmin>=zmax then
msgbox("Warning: Invalid Zmin/Zmax! Setting Zmax:=Zmin+1");
zmax:=zmin+1;
end;
if zoom3D<1 then
msgbox("Warning: zoom must be > 0; reset to 10");
zoom:=10;
end;
if (xmin<>xmin3D) or (xmax<>xmax3D) or
(ymin<>ymin3D) or (ymax<>ymax3D) or
(zmin<>zmin3D) or (zmax<>zmax3D)
then
recompute3D:=1;
xmax3D:=xmax; xmin3D:=xmin;
ymax3D:=ymax; ymin3D:=ymin;
zmax3D:=zmax; zmin3D:=zmin;
xc:=(xmax3D+xmin3D)/2;
yc:=(ymax3D+ymin3D)/2;
zc:=(zmax3D+zmin3D)/2;
end;
zoom3D:=zoom;
end;
end;
//----------------------------
// g3D_setgrid
//----------------------------
view "Set Grid Size",g3D_setgrid()
begin
local grid;
if init3D==0 then
g3D_setdefault();
end;
grid:=grid3D;
if input(grid,"Graph 3D Grid Size","Grid Size=","Enter N for an NxN grid",grid3D) then
if grid<1 then
msgbox("Warning: grid size must be > 0; reset to 15");
grid:=15;
end;
end;
if grid<>grid3D then
recompute3D:=1;
end;
grid3D:=grid;
end;
//----------------------------
// g3D_getangles
//----------------------------
view "Set Rotation Angles",g3D_getangles()
begin
local rx,ry,rz;
if init3D==0 then
g3D_setdefault();
end;
rx:=rotx; ry:=roty; rz:=rotz;
if input({rx,ry,rz},
"Graph 3D Rotation Angles",
{ "X-angle=", "Y-angle=", "Z-angle=" },
{
"Enter the angle (deg) about the x-axis",
"Enter the angle (deg) about the y-axis",
"Enter the angel (deg) about the z-axis"
},
{rotx,roty,rotz})
then
if (rx<>rotx) or (ry<>roty) or (rz<>rotz) then
rotx:=rx; roty:=ry; rotz:=rz;
end;
end;
end;
//----------------------------
// g3D_rotmatrix
//----------------------------
g3D_rotmatrix()
begin
A:=rotx; B:=roty; C:=rotz;
if HAngle==0 then
A:=A*PI/180; B:=B*PI/180; C:=C*PI/180;
end;
Rx:=[[1.,0.,0.],[0.,COS(A),-SIN(A)],[0.,SIN(A),COS(A)]];
Ry:=[[COS(B),0.,-SIN(B)],[0.,1.,0.],[SIN(B),0.,COS(B)]];
Rz:=[[COS(C),-SIN(C),0.],[SIN(C),COS(C),0.],[0.,0.,1.]];
Rot:=Rx*Ry*Rz;
Rot(3,4):=minD;
end;
//----------------------------
// g3D_compute
//----------------------------
g3D_compute()
begin
local i,j,dx,dy,xm,ym,func;
local m,minZ,maxZ;
if g3D_getfunc() then
iferr func:=STRING(V0); then func:=""; end;
V0:=fxy;
if recompute3D then
zColor:=makemat(RGB((grid3D+1-J)/grid3D*255,0,(I-1)/grid3D*255),grid3D+1,grid3D+1);
dx:=(xmax3D-xmin3D)/grid3D;
dy:=(ymax3D-ymin3D)/grid3D;
xm:=xmin3D-dx; ym:=ymin3D-dy;
Points2D:=makemat((xm+dx*I-xc,ym+dy*J-yc),grid3D+1,grid3D+1);
// apps currently have terrible bug handling
iferr
Zvals:=makemat(V0(xm+dx*I,ym+dy*J)-zc,grid3D+1,grid3D+1);
then
recompute3D:=1;
msgbox("Error during evaluation of function!");
V0:=func;
kill;
end; // end error trap
recompute3D:=0;
// get longest distance from center to prevent inversion
minZ:=min(Zvals); maxZ:=max(Zvals);
minD:=10+(max(abs(minZ),abs(maxZ))^2+(xmax3D-xc)^2+(ymax3D-yc)^2)^(.5);
end; // if recompute3D
V0:=func;
end; // if g3D_getfunc
end;
//----------------------------
// g3D_project
//----------------------------
g3D_project()
begin
local clip;
g3D_rotmatrix();
dimgrob_p(G1, 320, 240);
clip:=triangle(G1);
triangle_p(G1, Points2D, zColor, Zvals, { "N", -160, -120, minD*zoom3D }, Rot, clip);
blit_p(G0,G1);
end;
//----------------------------
// g3D_draw
//----------------------------
g3D_draw()
begin
if init3D==0 then
g3D_setdefault();
end;
g3D_compute();
g3D_project();
g3D_keys();
freeze;
end;
//----------------------------
// g3D_draw
//----------------------------
g3D_keys()
begin
local key,mousein, dx, dy;
while 1 do
key:=wait(-1);
if TYPE(key)==6 then break; end;
if key==-1 then break; end;
repeat
case
if key==1 then roty:=(roty+5) MOD 360; end;
if key==3 then roty:=(roty-5) MOD 360; end;
if key==4 then kill; end;
if key==7 then rotz:=(rotz-5) MOD 360; end;
if key==8 then rotz:=(rotz+5) MOD 360; end;
if key==2 then rotx:=(rotx-5) MOD 360; end;
if key==12 then rotx:=(rotx+5) MOD 360; end;
if key==45 then zoom3D:=max(zoom3D/1.05,.01); end;
if key==50 then zoom3D:=zoom3D*1.05; end;
end;
g3D_project();
until NOT IsKeyDown(key);
end; // end while
end;
Quote:I think im doing exactly as said,but i have a message "Error:Invalid object" when plot the graphic too.
1. What function were you trying to plot?
2. Do you have complex mode enabled?
3. What number format setting are you using?
I am a bit surprised that you managed to get any error message. Apps currently do not trap errors like programs. If you get an error while running an app, the app just stops and nothing is reported to the user.
(02-09-2014 01:52 AM)fefer92 Wrote: [ -> ]the erroe line is on the attachment below
There is clearly a huge discrepancy between the source file that you included in a previous post (just above this one) and the code that is shown in the screen shot. It looks as though the screenshot shows a different version than the one whose source you listed.
So in addition to my previous questions:
Quote:1. What function were you trying to plot?
2. Do you have complex mode enabled?
3. What number format setting are you using?
can you also share
4. What firmware do you have?
5. What version of Graph3D are you trying to use? no rotation? with rotation? with rotation and trace?
Han
Hello,
I am having the same problems of wrister05 and lala.
The app works fine on the emulator but I always get the Invalid Object Error when I try to plot any function on the calculator.
I have already tried to transfer the program using the Connectivity Kit and the Emulator but this error still happens.
I have already redownloaded everything and I am using the Wordpad. All the firmwares are up-to-date. All the Setting are default.
How did you fix that problem?
(02-09-2014 03:48 AM)Han Wrote: [ -> ] (02-09-2014 01:52 AM)fefer92 Wrote: [ -> ]the erroe line is on the attachment below
There is clearly a huge discrepancy between the source file that you included in a previous post (just above this one) and the code that is shown in the screen shot. It looks as though the screenshot shows a different version than the one whose source you listed.
So in addition to my previous questions:
Quote:1. What function were you trying to plot?
2. Do you have complex mode enabled?
3. What number format setting are you using?
can you also share
4. What firmware do you have?
5. What version of Graph3D are you trying to use? no rotation? with rotation? with rotation and trace?
Han
Han,
1-the function you used in your first post 1−(cos(X²+Y²)/X²+Y²)
2-sorry,im new with hp prime and i don´t know if i have this enable,how can i see this?
3-i dont understand what is this,can you tell me a little more please?i will search 2 and 3...
4-i think this is the knewest firmware is 2013 11 25 (5447) and cas version 1.1.0-27
5-i should said this before i tried every possible version (haha).what version do you like me to try?
thanks,
Daniel
(02-09-2014 04:56 PM)fefer92 Wrote: [ -> ] (02-09-2014 03:48 AM)Han Wrote: [ -> ]There is clearly a huge discrepancy between the source file that you included in a previous post (just above this one) and the code that is shown in the screen shot. It looks as though the screenshot shows a different version than the one whose source you listed.
So in addition to my previous questions:
can you also share
4. What firmware do you have?
5. What version of Graph3D are you trying to use? no rotation? with rotation? with rotation and trace?
Han
Han,
1-the function you used in your first post 1−(cos(X²+Y²)/X²+Y²)
2-sorry,im new with hp prime and i don´t know if i have this enable,how can i see this?
3-i dont understand what is this,can you tell me a little more please?i will search 2 and 3...
4-i think this is the knewest firmware is 2013 11 25 (5447) and cas version 1.1.0-27
5-i should said this before i tried every possible version (haha).what version do you like me to try?
thanks,
Daniel
Han,
see those screenshots please.
1- the function
2- the Symb settings,this is the setting i think you said like complex mode and number format (i tried all them)
3- the error when i press plot to 1(the function)
4- after the error the plotted graph
i dont know what to do...
this time i am using your 2.1 version.i think if i would be able to use one version,i would be able to use all others.
thanks,
Daniel
There are three version, each with slightly different abilities (these will all be merged into a single release with the next firmware update).
Your screenshots suggest that the app was not properly installed. A properly installed app would never show the screen featured in your screenshots, because the source never actually calls that screen (in any version). Would you humor me and check to see whether the app was actually properly transferred? Simply go to the program editor (while in the Graph3D app) and at the very top should be "Graph3D (App)". Select it and press ENTER to open the file to see the contents. If you don't see much of anything, then the app was never transferred properly (the connectivity kit can sometimes be quite unreliable).
Among the three versions, the polytrace one has the most features and is the most robust in terms of domain handling.