( Fero | 2008. 08. 26., k – 18:41 )

Ha jol ertem akkor:

currentWidth, ratioWto??, A[xyz], B[xyz] adott
es
C[xyz], D[xyz] -re vagy kivancsi.

Ekkor:


(Cx-Ax)^2+(Cy-Ay)^2+(Cz-Az)^2=(currentWidth*ratioWtoAC)^2
(Cx-Bx)^2+(Cy-By)^2+(Cz-Bz)^2=(currentWidth*ratioWtoBC)^2

C, ket, egy A es egy B kozeppontu, gomb metszokoren van, legyen a kor sugara rC (kiszamithato: A, B, ratioWto[AB]C -bol).
Ha nem metszenek nincs mo.


(Dx-Bx)^2+(Dy-By)^2+(Dz-Bz)^2=(currentWidth*ratioWtoBD)^2

D pedig egy B kozeppontu gomb felszinen, legyen a gomb sugara rD = currentWidth*ratioWtoBD.


(Dx-Cx)^2+(Dy-Cy)^2+(Dz-Cz)^2=(currentWidth*ratioWtoCD)^2

Tovabba D egy a C köre körüli tórusz belsejeben van, legyen a torusz vastagsaga 2*rT, rT = currentWidth*ratioWtoCD.

Ha a torusz es az rD sugaru gomb nem metsz nincs mo.

Eddig tudjuk, hogy C egy koron, D egy gombfelszin szeleten van.


Cz<0
Dz>0

miatt C es D nem lehet tavolabb a z=0 siktol mint rT. Igy C lehetseges ertekei a korvonal olyan pontjaira korlatozodik, melyekre |Cz| < rT, D pedig a gombelszin azon pontjai, melyek a lehetseges C-k koruli rT gombok belsejeben vannak.

Ha C halmazának vagy D halmazának nincs ilyen tulajdonságu pontja, nincs megoldás.


get2Ddistance(Cx,Cy,0,0)/get2Ddistance(Dx,Dy,0,0)=get2Ddistance(Ax,Ay,0,0)/get2Ddistance(Bx,By,0,0)

Jobb oldala szamithato, ebbol kovetkezik, hogy C es D egy-egy origo kozeppontu gombon van, amely gombok sugarának aránya állandó. Ezen gombokre további korlátozás, hogy csak azok a sugarak ervenyesek, amelyekre a felszin tartalmaz C ill. D lehetseges ertekei kozul pontot.

Konkluzio:
Szerintem nem egyertelmuen megoldhato. C a korvonal D a gombfelszin egy pontja.